jenkins发布普通项目配置自动上线自动部署

Posted fawaikuangtu123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins发布普通项目配置自动上线自动部署相关的知识,希望对你有一定的参考价值。

1.以root用户运行jenkins是不专业的

刚开始用jenkins时用jenkins这个普通用户运行程序,始终无法连接到gitlab,报错如下:

技术分享图片

 

先是把修改jenkins上的git路径,将git修改为/usr/local/git/bin/git

ll /usr/bin/git
/usr/bin/git -> /usr/local/git/bin/git

技术分享图片

然后修改运行jenkins的用户:

vi /etc/sysconfig/jenkins
JENKINS_USER="root"
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
service jenkins restart

这样做,在只有内网IP的服务器上倒还行,但这可能会显示出你比较vegetable,改成root之后,不再报错:

 技术分享图片

2.配置凭据Credentials来打通gitlab

先恢复之前的状态,即:将运行用户改为jenkins,各目录属主、属组也改为jenkins,jenkins地址:http://10.0.0.25:8080

前提:

a.git版本不能过低
git --version
git version 2.7.4
b.从本机可以克隆gitlab仓库,即公钥已经拷贝到gitlab上了
ssh-keygen -t rsa -C "[email protected]"
cd /root/c++
git init
git config --global user.name "root"
git config --global user.email "[email protected]"
cat ~/.ssh/id_rsa.pub
# 这里是把root的公钥拷到了gitlab的管理员用户的SSH Keys中
git clone [email protected]:Linkdood-yw/prelogin.git

3.开始创建

a.目前要克隆的仓库地址是:[email protected]:Linkdood-yw/prelogin.git

技术分享图片

b.选择ssh密钥和证书,然后选择直接输入,将私钥复制到下框中即可

技术分享图片

c.选择刚才创建的证书,完成后,选择构建

技术分享图片

d.选择构建,拉到最底部,选择使用shell脚本

脚本内容:cp -arf * /data/www

mkdir -p /data/www

chown -R jenkins.jenkins /data/www/

技术分享图片

服务器/data/www目录,结果展示

技术分享图片

小结:这部分的认证只是单方面的,即:在jenkins上创建了一个有gitlab用户私钥的凭据,每次拉取代码时,拿着这个凭据就可以获得gitlab的"信任".

 

以上是关于jenkins发布普通项目配置自动上线自动部署的主要内容,如果未能解决你的问题,请参考以下文章

jenkins自动化部署上线

gitlab+jenkins自动化上线部署持续集成

60-CICD持续集成-Jenkins连接Gitlab资源并且自动部署上线全流程

学会使用Jenkins自动部署你的项目(实战)

jenkins基础,手动自动代码上线

怎么把java自动化代码提交到jenkins