利用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  git@xxx.com

jenkins关联代码服务器,同步无需密码验证

// 尽量使用内网ip
scp -p .ssh/id_rsa.pub www@172.17.158.15:/home/www/.ssh/authorized_keys

新建项目

  1. 选择自由风格项目
  2. Source Code Management填写git地址
  3. 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同步代码到代码服务器。

易出错点:

  1. 服务器目录权限问题
  2. git拉取ssh验证
  3. 目录

构建时可查看Console Output信息,能看出哪一步错误,然后处理即可。


利用jenkins发布代码
https://blog.puresai.com/2019/07/31/194/
作者
puresai
许可协议