利用jenkins发布代码
安装jenkins
docker run \
-u root \
--rm \
-d \
-p 8090:8080 \
-p 50000:50000 \
-v jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean
进入容器查看密码:
docker exec -it 6d1a7f988069 /bin/bash
密码存储路径
/var/jenkins_home/secrets/initialAdminPassword
jenkins关联git,拉取无需密码验证
// 产生公钥与私钥对.
ssh-keygen
// 用ssh-copy-id将公钥复制到远程机器中(gitlab等)
ssh-copy-id -i .ssh/id_rsa.pub [email protected]
jenkins关联代码服务器,同步无需密码验证
// 尽量使用内网ip
scp -p .ssh/id_rsa.pub [email protected]:/home/www/.ssh/authorized_keys
新建项目
- 选择自由风格项目
- Source Code Management填写git地址
- Build执行shell脚本
shell demo
#!/bin/bash
echo ${BUILD_USER}
SOURCE_DIR=/var/jenkins_home/workspace/${JOB_NAME}/
DEST_DIR=/usr/local/nginx/html/jenkins
REMOTE_IP=172.17.158.15
scp -r $SOURCE_DIR www@$REMOTE_IP:$DEST_DIR
保存后点击构建。
原理:
jenkins拉取git代码jenkins服务器,scp同步代码到代码服务器。
易出错点:
- 服务器目录权限问题
- git拉取ssh验证
- 目录
构建时可查看Console Output信息,能看出哪一步错误,然后处理即可。
利用jenkins发布代码
https://blog.puresai.com/2019/07/31/194/