测试Jenkins构建自动化部署

作者: 四冶读史 | 来源:发表于2017-07-12 14:42 被阅读254次

1.概述

在Jenkins上创建一个Job,Job里执行一个远程shell脚本,脚本展示“hello world”。

2.步骤

2.1.配置免密码登录

参考:http://www.jianshu.com/p/cd7b53f601e5

2.2.编写测试脚本

进入目标机

echo "echo "hello word"" > /home/demo.sh
chmod +x /home/demo.sh
/home/demo.sh
hello word

2.3.创建Job

==登录Jenkins 创建Job
==输入item name,选择“构建一个自由风格的软件项目”
==在“构建”处,选择“Execute shell”
==在Command栏,输入ssh root@10.11.1.30 "/bin/sh /home/demo.sh"
==保存
至此,Job创建完成

2.4.立即构建

点击“立即构建”
发现构建失败,查看错误信息,提示如下:

Started by user aorise
Building in workspace /var/lib/jenkins/workspace/auto_test
[auto_test] $ /bin/sh -xe /tmp/jenkins8711967078967140627.sh
+ ssh root@10.11.1.30 '/bin/sh /home/demo.sh'
Warning: Permanently added '10.11.1.30' (ECDSA) to the list of known hosts.
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
Build step 'Execute shell' marked build as failure
Finished: FAILURE

错误信息提示:“Permission denied” 无权限执行脚本
原因分析:Jenkins运行在Jenkins账户下,并无root权限
解决方案:将Jenkins添加至sudo列表下,通过sudo执行脚本
修改Job脚本,为sudo ssh root@10.11.1.30 "/bin/sh /home/demo.sh"
再次点击“立即构建”
构建失败,提示信息如下:

sudo: sorry, you must have a tty to run sudo

原因分析:默认情况下sudo需要在tty终端才能被调用
解决方案:注释掉 Default requiretty 一行

visudo
# Default requiretty

再次点击“立即构建”
构建成功!

相关文章

  • Jenkins入门(一)

    一、Jenkins简介 Jenkins是一款开源 CI/CD 软件,用于自动化各种任务,包括构建、测试和部署软件。...

  • jenkins + git + iOS + 蒲公英自动化构建(m

    Jenkins 是一款开源 CI&CD软件,用于自动化各种任务,包括构建、测试和部署软件。Jenkins 支持各种...

  • jenkins系列 -- Mac上 jenkins 安装

    概述 Jenkins 是一款开源 CI&CD软件,用于自动化各种任务,包括构建、测试和部署软件。Jenkins 支...

  • Jenkins Pipeline

    Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。 Jenkins 支持各...

  • jenkins及其pipline

    Jenkins 是什么? Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件...

  • 【Jenkins持续集成(二)】Windows上安装Jenkin

    一、前言 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。Jenkins...

  • Helm Chart 一键部署 Jenkins

    Jenkins Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。目前提供...

  • Jenkins

    一、Jenkins Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。 J...

  • Java+Maven+TestNG+GoCD - 部署篇

    GoCD 是一个开源的持续交付/持续部署的系统,可以构建,自动化测试,自动部署等等,和Jenkins类似。但是...

  • jenkins测试环境构建使用手册

    1. 测试版本构建流程简介   软件系统测试环境的版本构建使用jenkins平台进行,jenkins自动化构建分为...

网友评论

    本文标题:测试Jenkins构建自动化部署

    本文链接:https://www.haomeiwen.com/subject/smsbhxtx.html