gitlab+Jenkins自动化构建(二)

安装git

yum install git -y

配置秘钥

生成秘钥

ssh-keygen -t rsa -C "1020547922@qq.com"

在gitlab里添加公钥

登入gitlab,点击头像在下拉菜单里点击设置,进入设置页在左边slider里选择SSH keys,进入秘钥添加页。把公钥添复制粘贴进去。

#生成的秘钥默认位置 /root/.ssh/
cat id_rsa.pub  #查看公钥

配置秘钥后使用ssh -T git@gitlab.com测试是否联通,如无法联通可能还要配置config文件,在和秘钥相同的位置创建config文件,没有后缀。

#vim config
Host gitlab.com
HostName 192.168.0.140 ### git服务器地址
User git
IdentityFile ~/.ssh/id_rsa

在验证联通性的时候可能会有警告,输入Y就好。

#输入
ssh-keygen -t rsa -C "1020547922@qq.com"
#响应
Welcome to GitLab, @lijinya!
这样就表明此时服务器已经可以和gitlab免密通信了

创建Jenkins任务

创建任务>输入任务名字,选择创建一个自由风格的软件项目>General里只写了一个描述,其他都不选择>源码管理,选择git>Repository URL里填写gitlab仓库的地址,使用ssh地址>Credentials需要点击添加认证方式>类型选择ssh的选项 然后,在下面选择Private Key,把刚刚生成的私钥内容粘贴进去。点击添加> 这时弹窗关闭,我们在选择刚刚创建的认证方式,这是填写的git地址下面就不报错了。然后直接点击本页面下面的保存。

cat cat id_rsa #查看私钥

构建

点击刚刚创建的任务侧边栏里的构建,此时开始构建项目,点击任务的下拉三角可以看到控制台输出,点击。此时页面右边就显示任务的事实控制台输出了。

Started by user 李金亚
Building in workspace /root/.jenkins/workspace/auto-vue
using credential 0383ba49-68fb-442b-9f33-46544dcc8563
Cloning the remote Git repository
Cloning repository git@192.168.0.140:lijinya/demo.git
 > git init /root/.jenkins/workspace/auto-vue # timeout=10
Fetching upstream changes from git@192.168.0.140:lijinya/demo.git
 > git --version # timeout=10
using GIT_SSH to set credentials 
 > git fetch --tags --progress git@192.168.0.140:lijinya/demo.git +refs/heads/*:refs/remotes/origin/*
 > git config remote.origin.url git@192.168.0.140:lijinya/demo.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url git@192.168.0.140:lijinya/demo.git # timeout=10
Fetching upstream changes from git@192.168.0.140:lijinya/demo.git
using GIT_SSH to set credentials 
 > git fetch --tags --progress git@192.168.0.140:lijinya/demo.git +refs/heads/*:refs/remotes/origin/*
 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
 > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision 2127386cdeba3b013ee55341dfb34dbe95bbdee7 (refs/remotes/origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 2127386cdeba3b013ee55341dfb34dbe95bbdee7
Commit message: "初始化"
First time build. Skipping changelog.
Finished: SUCCESS
这次大部分内容都是默认的,所以只是看到项目被成功的拉取到了Jenkins的工作空间Building in workspace /root/.jenkins/workspace/auto-vue。我们进入这个地址可以看到正是我们在gitlab创建的项目代码。

文章用有道云笔记编辑,有道云上床图片还要开会员,所以放弃,直接用文字描述了。