Jenkins的安装部署
Jenkins的安装
- 采用docker进行Jenkins的运行,安装docker,并通过
docker pull jenkins/jenkins
将Jenkins镜像拉到本地 - 运行docker
docker run --name my_jenkins -p 8081:8080 -v /data/jenkins_home:/var/jenkins_home jenkins/jenkins
- 打开Chrome,输入http:\localhost:8080 进入下面页面
- 输入步骤2中的password:
3d03d67937144a37acd7484242f5ede9
,
**备注:**若运行docker时采用后台运行docker run -b --name my_jenkins -p 8081:8080 -v /data/jenkins_home:/var/jenkins_home jenkins/jenkins
可以利用
查找密码:
docker exec -it my_jenkins bash //进入jenkins容器
cat /var/jenkins_home/secrets/initialAdminPassword //查看密码
5. 可以按照推荐安装插件,在需要时在安装插件;也可以选择好插件进行安装,这里是按照推荐进行安装插件的。
6. 创建admin用户
安装完成
gitlab与Jenkins的配置
这里参考https://docs.gitlab.com/ee/integration/jenkins.html相关内容进行配置
授予 Jenkins 访问 GitLab 项目的权限
配置 GitLab API 访问
- 创建一个新的 GitLab 用户,或选择一个现有的 GitLab 用户。
Jenkins 使用此帐户访问 GitLab 项目。建议仅为此目的创建 GitLab 用户。如果使用了某人的帐户,若果他们的帐户被停用或删除,则 GitLab-Jenkins 集成将停止工作。 - 授予用户对 GitLab 项目的权限。
如果您将 Jenkins 与许多 GitLab 项目集成,请考虑授予用户全局管理员角色。否则,将用户添加到每个项目,并授予 Developer 角色。 - 创建个人Token以 Jenkins 访问 GitLab授权
a. 用需要与 Jenkins 一起使用的用户身份登录 GitLab
b. 在右上角,选择您的头像。
c. 选择Edit profile(编辑个人资料)。
d. 在左侧边栏上,选择Access Tokens访问令牌。
e. 创建个人访问令牌并选中API范围复选框
f. 记录个人访问令牌的值,因为在配置 Jenkins 服务器部分需要它
配置Jenkins服务器
- 安装和配置 Jenkins 插件。必须安装并配置插件以授权连接到 GitLab。
在 Jenkins 服务器上,转到Manage Jenkins > Manage Plugins。
安装Jenkins GitLab 插件
- 转到管理 Jenkins > 配置系统。
在GitLab部分,选中Enable authentication for ‘/project’ 端点复选框。
单击Add,然后选择Jenkins Credential Provider。
选择GitLab API 令牌作为令牌类型。
在API 令牌字段中输入 GitLab 个人访问令牌的值,然后单击添加。
在GitLab 主机 URL字段中输入 GitLab 服务器的 URL 。
单击Test Connection,确保连接成功后再继续。
配置Jenkins项目
1 . 设置您打算在其上运行构建的 Jenkins 项目。
在您的 Jenkins 实例上,转到New Item。
输入项目名称。
在Freestyle或Pipeline之间进行选择,然后单击OK。我们推荐一个 Freestyle 项目,因为 Jenkins 插件会更新 GitLab 上的构建状态。在 Pipeline 项目中,您必须配置一个脚本来更新 GitLab 上的状态。
从下拉列表中选择您的 GitLab 连接。
检查时所建的改变被推到GitLab复选框。
选中以下复选框:
接受的合并请求事件
关闭的合并请求事件
指定如何向 GitLab 报告构建状态:
如果您创建了一个Freestyle项目,请在Post-build Actions部分中,选择 Publish build status to GitLab。
如果您创建了Pipeline项目,则必须使用 Jenkins Pipeline 脚本来更新 GitLab 上的状态。
Jenkins 流水线脚本示例:
pipeline {
agent any
stages {
stage('gitlab') {
steps {
echo 'Notify GitLab'
updateGitlabCommitStatus name: 'build', state: 'pending'
updateGitlabCommitStatus name: 'build', state: 'success'
}
}
}
}
备注配置Jenkins项目时需要配置Git、GitLab、构建工具本项目采用Gradle构建
配置 GitLab 项目
推荐的 Jenkins 集成
GitLab 建议将这种方法用于 Jenkins 集成,因为它比webhook 集成更容易配置。
- 创建一个新的 GitLab 项目或选择一个现有的项目。
- 转到Settings > Integrations,然后选择Jenkins CI。
- 打开活动切换。
- 选择您希望 GitLab 触发 Jenkins 构建的事件:
Push
Merge request
Tag push - 输入Jenkins URL。
- 输入项目名称。
项目名称应该是 URL 友好的,其中空格替换为下划线。为确保项目名称有效,请在查看 Jenkins 项目时从浏览器的地址栏中复制它。 - 如果您的 Jenkins 服务器需要身份验证,请输入用户名和密码。
- 单击测试设置并保存更改。GitLab 测试与 Jenkins 的连接。