安装

所需环境:

镜像源更改:
1、进入jenkins系统管理
2、进入插件管理
3、点击高级,修改升级站点的地址为清华大学镜像地址

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

构建

脚本:

if $sip_gateway;then
 echo "sip_gateway 启动开始"
 cd ${WORKSPACE}/sip-gateway
 sed -n '1,/<version>.*<\/version>/ p' pom.xml | sed -n '$p' >pom1.xml
 version=`sed -r 's/.*<version>(.*)<\/version>.*/\1/' pom1.xml`
 #cp target/sip-gateway-${version}.jar target/sip-gateway-${version_img}.jar
 cd /data/git/sipgateway
 git rm -rf .
 rm -rf sip-gateway*
 git checkout -b sip-gateway-${version_img}
 cp ${WORKSPACE}/sip-gateway/target/sip-gateway-${version}.jar sip-gateway-${version_img}.jar
 git add .
 git commit -m "sip-gateway-${version_img}"
 git push --set-upstream origin sip-gateway-${version_img}
 cd ${WORKSPACE}/sip-gateway
 scp target/sip-gateway-${version}.jar  192.168.213.173:/data/video-cloud/sip-gateway/sip-gateway-${version_img}.jar
 #[ ! -z $ftp_path ] && scp target/sip-gateway-${version_img}.jar root@192.168.41.7:/ftp/test/video-cloud/1.0.0/$ftp_path
 echo "version:${version_img}"
 echo "sip-gateway 启动完毕"
fi

jenkins自动部署,自动化测试

自动化报告输出
jenkins版本过旧而插件过新时,需要自己去下载老版本插件上传
1、在这里找到自己的插件:http://updates.jenkins-ci.org/download/plugins/
2、打开Jenkins,Manage Jenkins --> Manage Plugins --> Advanced, 选择 Upload Plugin:

常见问题

忘记jenkins密码

找到config.xml,一般在/root/.jenkins下,删除以下代码,重启Jenkins

 <useSecurity>true</useSecurity>
  <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
    <denyAnonymousReadAccess>true</denyAnonymousReadAccess>
  </authorizationStrategy>
  <securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
    <disableSignup>true</disableSignup>
    <enableCaptcha>false</enableCaptcha>
  </securityRealm>

远程执行ssh命令无法退出

当想要远程执行服务启动脚本时,如果启动脚本用了nohup,则会发现本次job一直处于构建状态,这时只需要ssh -f即可。

本地执行命令无法后台运行

当想本地执行nohup java -jar时发现,构建成功后进程就挂死了,这时需要一个export BUILD_ID=dontKillMe
看个demo,这里包含了上述两种情况:

function deploy_server() {
ssh 192.168.154.17 'rm -f /service/nef-service/nef-server.jar'
scp ${WORKSPACE}/nef-core/nef-server/target/nef-server.jar 192.168.154.17:/service/nef-service
ssh -f 192.168.154.17 '/bin/bash /service/nef-service/restart.sh'
python3 /opt/workspace/autotest-interface/src/main.py
}
function deploy_manager() {
export BUILD_ID=dontKillMe
cp -f ${WORKSPACE}/nef-manager/target/nef-manager-1.0.jar /service/nef-manager
sh /service/nef-manager/restart.sh
}
echo "----begin---"
echo $nef_manager
if $nef_server;then
deploy_server
fi
if $nef_manager;then
deploy_manager
fi
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐