
docker部署jenkins和使用教程
安装 Jenkins
使用 docker 安装
- 拉取最新版镜像
- 创建 Jenkins 目录
- 安装启动 jenkins 容器
- --name:容器名称
- --privileged=true:使container内的root拥有真正的root权限
- -p 8080:8080:宿主机端口映射容器端口
- -e TZ=Asia/Shanghai 指定时区
- -e JENKINS_OPTS="--prefix=/jenkins" 指定jenkins访问的前缀,方便ng反向代理
- -v /docker/jenkins:/var/jenkins_home:挂载 jenkins_home 目录到宿主机
- -v /opt/apache-maven-3.6.3:/usr/local/maven:挂载 maven 安装目录
- -v /opt/jdk-1.8/jdk1.8.0_191:/usr/local/java/jdk1.8.0_291:挂载 jdk 安装目录
- -v /opt/gradle-6.3:/usr/local/gradle-6.3:挂载 gradle 安装目录
- 查看 jenkins 启动情况
- jenkins 目录授权
- 启动 jenkins 容器
配置 Jenkins
基础配置
1. 浏览器访问 jenkins
2. 输入管理员密码,密码保存路径:/var/jenkins_home/secrets/initialAdminPassword
3. 安装插件
步骤:选择插件来安装 -> 取消所有勾选的插件 -> 安装
说明:等后面更换插件源(国内镜像),再手动安装需要的插件
4. 创建管理员账号
账号/密码:javadev/123456
5. 进入首页
6. 更换插件源
- 镜像站点
tencent https://mirrors.cloud.tencent.com/jenkins/plugins/
huawei https://mirrors.huaweicloud.com/jenkins/plugins/
ustc https://mirrors.ustc.edu.cn/jenkins/plugins/
清华大学镜像:https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins
Manage Jenkins -> Manage Plugins -> Advanced -> Updatge Site
华为镜像是最快的
安装所需插件
- Gradle
- Git
- docker-build-step
- Publish Over SSH
- Role-based Authorization Strategy
- maven integration
- Locale 中文汉化语言包插件Localization: Chinese (Simplified)
全局工具配置
Manage Jenkins -> Global Tool Configuration
JDK 配置
- Name:jdk 版本
- JAVA_HOME:jenkins 容器内的 JAVA_HOME 路径 /usr/local/java/jdk1.8.0_333
Gradle 配置
- name:gradle 版本
- GRADLE_HOME:jenkins 容器内的 GRADLE_HOME 路径
Maven 配置
- Name:maven 版本
- MAVEN_HOME:jenkins 容器内的 MAVEN_HOME路径 /usr/local/maven
系统配置
docker 构建配置
先安装 docker-build-step 插件
Manage Jenkins -> Configure System -> Docker Builder
开启 Docker 远程访问
查看默认配置参数并筛选关键信息“ExecStart”
修改配置文件:
添加远程访问参数:
最终效果:
修改后,重载配置文件:
jenkins 中 docker 构建配置
SSH 服务器配置
实现要在jenkins上实现要安装 Publish over SSH 插件
Manage Jenkins -> Configure System -> Publish over SSH -> SSH Servers
服务器上创建 Remote Directory
jenkins 配置 SSH Servers
- Name:SSH Server 名称(自定义)
- Hostname:服务器主机名(域名/ip)
- Username:登录账号
- Remote Directory:docker 挂载的远程文件夹 ,这个文件夹也要事先在服务器上创建成功
- Passphrase / Password:登录密码
测试下
凭证配置
Manage Jenkins -> Manage Credentials -> Stores scoped to Jenkins -> global -> Add Credentials
GItlab 凭证配置
配置 gitlab 连接凭证
- Username:gitlab登录账号
- Password:账号密码
- Description:gitlab凭据
凭证使用:
构建任务时,Source Code Management -> Repository URL(填写 gitlab项目 URL) -> Credentials
docker 凭证配置
宿主机登录 docker
登录成功:
配置 docker 连接凭证
- Username:docker 登录账号
- Password:账号密码
- Description:docker登录账号
凭证使用:
构建任务时,Build -> Execute Docker command -> Registry credentials
用户权限管理插件(可选)
启用 Role-Based Strategy
Manage Jenkins -> Configure Global Security -> Role-Based Strategy
配置角色
Manage Jenkins -> Configure Global Security -> Manage and Assign Roles
添加账号
Manage Jenkins -> Configure Global Security -> Manage Users
构建任务
New Item -> 输入任务名称(项目名称) -> 选择 Freestyle project
General
Source Code Management
pom.xml在检出的目录的相对位置
Build - Add build step -Invoke Gradle script
Build - Add build step -Invoke Gradle script
Build - Add build step -Invoke Gradle script
Post-build Actions - Add Server
Exec command 示例
nginx配置反向代理
文章转载自公众号:IT学习道场
