Jenkins2.40 最佳实践(一)
文章目录
介绍
Jenkins 是一个自动化服务器 , 目前发展超过 15 年 , 比较成熟的 CI 工具 ( 也可以 CD )
能够实现自动化集成发布 。 建立好流水线后 , 期间无需专业运维人员介入 , 开发
人员随时发布部署 。
应用场景
- 集成 svn / git 客户端实现源代码下载检出
- 集成 maven / ant / gradle / npm 等构建工具实现源码编译打包单元测试
- 集成 sonarqube 对源代码进行质量检查 ( 坏味道 、 复杂度 、 新增 bug 等 )
- 集成 SaltStack/Ansible 实现自动化部署发布
- 集成 Jmeter/Soar/Kubernetes/.
- 可以自定义插件或者脚本通过 jenkins 传参运行
- 可以说 Jenkins 比较灵活插件资源丰富 , 日常运维工作都可以自动化 。
Jenkins用 java 语言开发 , 需要安装 JDK , 目前已支持 jdkll.
Jenkins 的安装可以跨平台 (Win/Linux/Mac)
部署 / 更新源 : https://mirrors.tuna.tsinghua.edu.cn/jenkins/
docker安装Jenkins
docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -u root \
-v /root/jenkins/jenkins_home:/var/jenkins_home \
-v /root/jenkins/maven:/usr/local/maven \
-v /root/jenkins/jdk:/usr/local/jdk \
--restart=always \
jenkins/jenkins:lts
注意:如果映射的目录是只读文件系统,可以换成其它目录
root@train-1:~/jenkins# docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
74b30d9bb87e432ab0392a733a68b778
- 插件安装
管理Jenkins->系统配置–>管理插件
常用插件名称 | 描述 |
---|---|
Pulish Over SSH | 通过SSH 发送构建的程序到远程服务 器 |
SSH plugin | 在远程服务器执行Shell 命令 |
Subversion Plug-in | SVN 管理 |
Extended Choice Parameter Plug-In | 参数化构建 |
Git plugin | Git 管理 |
Git Parameter Plug-In | Git 参数化构建 |
Role-based Authorization Strategy | 用户项目权限控制 |
Email Extension Plugin | 邮件通知扩展功能(定义内容格式等) |
Dingding[钉钉] Plugin | 钉钉通知 |
jenkins_home部分目录 结构如下:
基本配置
配置访问端 :默认 8080
配置 JENK I NS HOME:默认 /var/lib/jenkins
配置启动用户:默认 Jenkins
- 配置插件更新源:
默认官方源:https://updates.jenkins.io/update-center.json
一 〉 清华源 / Jenkins 中文社区源:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
构建配置以java为例
java代码拉取到Jenkins本地后,需要在Jenkins中对代码进行构建,这里需要Maven的环境,而Maven需要Java的环境,接下来需要在Jenkins中安装JDK和Maven,并且配置到Jenkins服务
- 设置maven路径
修改maven配置文件配置国内maven仓库地址
vim /usr/local/maven/conf/settings.xml
<mirrors>
<mirror>
<id>central</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/central</url>
</mirror>
</mirrors>
设置中添加maven路径
- 设置jdk路径
- 以qq邮箱配置为例配置邮箱通知(可用于用户找回密码)
或者在UI界面中配置:
- 数据备份
打开配置 config/gitlab.rb,默认已开启备份并指定备份路径,备份时长默认设置为7天
进入容器备份:gitlab-rake gitlab:backup:create
root@train-1:~/gitlab/docker-compose# docker exec -ti 6322 /bin/bash
root@6322a85ebe75:/# gitlab-rake gitlab:backup:create
20