jenkins远程部署,主备切换

1.配置github账号密码

jenkins—Credential—System—Global credentail—Add Credentail

jenkins远程部署,主备切换_第1张图片

2.配置远程主机

jenkins—系统管理系统设置—SSH Servers

jenkins远程部署,主备切换_第2张图片


3.新建任务

  • 新建任务构建自由风格软件项目(或根据已有任务构建)

  • General—参数化构建过程(可以在执行构建时输入参数,一般选用文本参数和选项参数即可)
jenkins远程部署,主备切换_第3张图片

jenkins远程部署,主备切换_第4张图片

执行构建时效果:


jenkins远程部署,主备切换_第5张图片

  • 源码管理—Git:

    jenkins远程部署,主备切换_第6张图片
  • 触发构建器:

    jenkins远程部署,主备切换_第7张图片

    身份验证令牌位置:

    用户—jiangchao—设置—API  TOKEN—show API Token

    jenkins远程部署,主备切换_第8张图片

    然后github对应项目下的settings—webhooks配置身份令牌生成的url

    并且取消勾选系统管理全局安全配置去掉防止跨站点请求伪造,允许github调用url触发构建,同时勾选启用安全-登陆用户可以做任何事-Allow anonymous read access


    注意:webhooks   url配置有构建参数的使用

    JENKINS_URL/job/agendash-upgrades/buildWithParameters?token=TOKEN_NAME&param=p

    有参数构建时,github webhooksContent type还得使用application/json


    没有构建参数使用

    JENKINS_URL/job/agendash-upgrades/build?token=TOKEN_NAME



  • 构建环境(ssh server目标机器需要提前配置)

    jenkins远程部署,主备切换_第9张图片
  • 构建(选择Execute shell

    jenkins远程部署,主备切换_第10张图片


  • 构建后的操作(例如发送邮件通知构建结果)

    jenkins远程部署,主备切换_第11张图片

    邮件配置


    jenkins远程部署,主备切换_第12张图片

jenkins远程部署,主备切换_第13张图片

  • 保存后运行构建

jenkins远程部署,主备切换_第14张图片

4.ssh server中部署时主备切换shell脚本

cd /data/jenkins_home/agendash-upgrades
master=1
slave=2
if [ -e "master-slave.txt" ];
then
	master=$(cat master-slave.txt)
else
	echo 1 > master-slave.txt	
fi &&
if [ $master == '1' ];
then
        slave=2
	echo 2 > master-slave.txt
else 
        slave=1
	echo 1 > master-slave.txt
fi &&
if [ -d $slave ];
then
	echo "$slave exist"
else
	mkdir $slave
fi &&
if [ -d $slave"/agendash-upgrades" ];
then
	echo $slave"/agendash-upgrades exist"
else
	mkdir $slave/agendash-upgrades
	
fi &&
pm2 delete all || echo "continue execute" && 
mv agendash-upgrades.tar.gz $slave/agendash-upgrades && 
cd $slave/agendash-upgrades && 
tar -xzvf agendash-upgrades.tar.gz &&  
npm install && 
cd bin && 
pm2 start agendash-standalone.js --name agendash -f 

 
  

你可能感兴趣的:(jenkins)