Jekins安装与配置(基于majaro)
安装
本人在majaro(archLinux发行版本)安装的jenkins ,其他发行版本可自行百度
sudo pacmac Sy jenkins
配置文件
manjaro中jenkins配置文件存放目录在/etc/conf.d/jenkins
其他发行版本应该是存放在/etc/sysconfig/jenkins
中
在配置文件中,主要有三个比较重要的配置:
- JENKINS_USER=jenkins
- JENKINS_HOME=/var/lib/jenkins
- JENKINS_PORT=--httpPort=8090
- JENKINS_USER:Jenkins用户,拥有$JENKINS_HOME和/var/log/jenkins的权限
- JENKINS_HOME:Jenkins的主目录,Jenkins工作的目录都放在改目录下(Jenkins储存文件的地址,插件,生成的文件)
- JENKINS_PORT:Jenkins的访问端口,上面示例中为8089端口
启动jenkins
systemctl start jenkins
启动
systemctl stop jenkins
停止
systemctl restart jenkins
重启动
访问jenkins
-
访问本地jenkins :
127.0.0.1:配置的端口号
-
进入界面后需要选择要下载的插件,选择推荐
-
创建管理员用户后进入到jenkins界面
插件管理
- 点击Manage Jenkins(系统管理),找到起中的Manage Plugins(插件管理)
- 点击可选插件,下载自己需要的插件,如常用的git、ssh以及我所要使用的dotnet sdk插件
- 点击安装后,等待安装,勾选完成后重启使插件生效
- 在地址栏输入/restart url可以重启jenkins
配置gitee
-
前往 Jenkins -> Manage Jenkins -> Configure System (下拉)-> Gitee 配置 -> Gitee 链接
填写资料如下:
-
添加jenkins凭据
其中主要填写的是私人令牌:
Gitee API V5 的私人令牌(获取地址 https://gitee.com/profile/personal_access_tokens) -
点击测试连接,显示成功,配置完毕,保存即可
构建项目
-
新建Item ->输入任务名字(随意) -> 选择Freestyle project -> 确定
-
接下来进入到刚刚创建的任务配置界面
-
General中:选择上面创建的gitee链接
-
源码管理中:
-
选择git
-
Repository URL输入git项目地址(平时clone那玩意)
-
Credentials项中点击添加jenkins添加gitee用户名和密码(骚操作项目需要用户校验) ,添加完毕后选择刚刚添加的凭据
-
点击高级选项,可以看到Name字段和Refspec字段,在Name字段中输入 origin, Refspec字段输入
+refs/heads/*:refs/remotes/origin/*
(PR工作流输入:+refs/pull/*/MERGE:refs/pull/*/MERGE
)
-
往下看会看到Branches to build选项:在指定分支输入
origin/${giteeSourceBranch}
(如果你使用的是PR工作流则输入pull/${giteePullRequestIid}/MERGE
)
-
再往下看是源库浏览器选项:以下配置是所做的功能是推送代码到分支后,jenkins在自动构建前默认合并没发布分支的哦诶之
-> 点击新增
-> 选择 Merge before build
-> Name of repository 设置为 origin
-> Branch to merge to 设置为${ReleaseBranch},该变量为我们要合并的默认分支
-
-
构建触发器选项中,该选项主要选择是触发jenkins自动构建的事件,如推送代码,提交pull requests等,这里介绍常规选择:
-> 选择Gitee webhook 触发构建(需要在 Gitee webhook 中填写 URL:http://127.0.0.1:8090/gitee-project/giteeTest
),选择触发构建的规则
-> 剩下的选项看图吧:
-
构建环境和构建步骤,先跳过,该步骤就是构建前后要做的事情, 例如编译.net项目
-
构建后操作:
如果希望将构建结果在码云显示,则可以选择:将构建状态评论到gitee pull request中选项:
-
-
接下来就是码云的配置
-
码云 -> 管理 -> WebHooks:
-
添加,将刚刚配置jenkins项目构建选项中说的url和生成的webhook密码填入其中(如果没有设置密码可以不填),事件选择push和Pull Request(有别的需求则自己另外选其他选项)
*ps:这里需要注意的是,因为我访问jenkins使用的是本地回环地址,所以提示要配置的webhoosks地址也为该地址,但是在gitee配置的要为外网url,所以赶紧去通过ngrok把地址转成外网地址:https://ngrok.com/download
下载ngrok后解压,运行ngrok 将本机ip地址和端口转成外网http地址而端口:./ngrok http 8089
添加成功:
-
点击测试,显示测试成功后去看看jenkins中的build history, 看到有数据出现则说明前面步骤没问题,图中圆圈爆红是因为GITEE某些参数设置错误了,配置的参数应该因人而异
-