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创建的项目代码。
文章用有道云笔记编辑,有道云上床图片还要开会员,所以放弃,直接用文字描述了。