jenkins主动化部署
以下是通过 Docker 安装 Jenkins 并完成主动化部署的完备教程,包罗安装前置的 JDK、Maven 等环境的具体步调:
1. 准备环境
确保以下条件满足:
- 操纵系统为支持 Docker 的 Linux 系统(比方 Ubuntu)。
- 已安装 Docker 和 Docker Compose。
- sudo apt update && sudo apt upgrade -y
复制代码- sudo apt install -y docker.io
复制代码- sudo systemctl start docker
- sudo systemctl enable docker
复制代码- sudo apt install -y docker-compose
- docker-compose --version
复制代码 2. 拉取 Jenkins 镜像
配置国内的docker镜像源 不然下载很忙,或者链接报错(我用的阿里云的docker镜像加快)
登录阿里云搜索容器镜像
- [/code] [code]sudo vim /etc/docker/daemon.json
- 写入下面镜像
- {
- "registry-mirrors": ["https://xxxxxxx.mirror.aliyuncs.com"]
- }
复制代码 在 Docker 中利用 Jenkins 官方镜像:
- docker pull jenkins/jenkins:lts
复制代码 3. 创建 Jenkins 容器
创建 Jenkins 容器并挂载本地目次,用于长期化数据和方便配置。
创建挂载目次
- mkdir -p ~/jenkins_home
- sudo chown 1000:1000 ~/jenkins_home
复制代码 运行 Jenkins 容器
- docker run -d -p 8080:8080 -p 50000:50000 \
- --name jenkins \
- -v ~/jenkins_home:/var/jenkins_home \
- -v /var/run/docker.sock:/var/run/docker.sock \
- jenkins/jenkins:lts
复制代码 解释:
- -p 8080:8080: 将 Jenkins 的默认 Web 端口映射到主机的 8080 端口。 前面参数是主机的 后面参数是docker内部容器的
- -v ~/jenkins_home:/var/jenkins_home: 持久化 Jenkins 数据。 docker内部的/var/jenkins_home数据会持久化到主机的~/jenkins_home目录下面 后面打包后的jar文件也在这下面
- -v /var/run/docker.sock:/var/run/docker.sock: 允许 Jenkins 控制主机的 Docker。
- 编辑Jenkins的插件下载地址,国外的下载太慢的,会导致很多插件下载失败
- vim /var/jenkins_home/hudson.model.UpdateCenter.xml
- 将 url 内容修改为 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json(清华大学官方镜像)
复制代码 4. 访问 Jenkins 并完成初始配置
打开 Jenkins 页面
访问 http://<主机IP>:8080。
进入容器内部 查询初始化密码
- docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
- exit 退出容器内部
复制代码 安装保举插件
根据提示安装保举的插件,并创建管理员账户。
如果某一些插件安装失败了,就重试一下。
初始化管理员密码
进入主页
5. 安装 JDK 和 Maven
在 Jenkins 容器中安装 JDK 和 Maven,以便用于构建项目。
进入容器
- docker exec -u root -it jenkins bash
复制代码 安装 JDK
- 更新包管理器:
- 安装 OpenJDK(以 Java 17 为例):
- apt install -y openjdk-17-jdk
复制代码- 验证安装:
安装 Maven
- 下载并解压 Maven:
- apt install -y wget
- wget https://downloads.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
- tar -xzvf apache-maven-3.8.8-bin.tar.gz -C /opt/
- mv /opt/apache-maven-3.8.8 /opt/maven
- 编辑settings.xml 里面的mirror标签的maven镜像地址为阿里云的
- vim /opt/maven/conf/settings.xml
- <mirror>
- <id>nexus-aliyun</id>
- <name>Nexus aliyun</name>
- <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
- <mirrorOf>central</mirrorOf>
- </mirror>
-
复制代码- 配置环境变量:
- echo "export M2_HOME=/opt/maven" >> ~/.bashrc
- echo "export PATH=\$M2_HOME/bin:\$PATH" >> ~/.bashrc
- source ~/.bashrc
复制代码- 验证安装:
退出容器:
安装git
6. jenkins配置jdk,maven,git路径
1. 登录 Jenkins 管理界面
- 打开 Jenkins 的管理页面。
- 依次进入 "Manage Jenkins" > "Global Tool Configuration"。
2. 配置 JDK
在 JDK Installations 部分:
- 点击 "Add JDK"。
- 填写以下内容:
- Name:比方 OpenJDK.
- JAVA_HOME:填写你的 Java 路径 /opt/java/openjdk。
- 确保未勾选 "Install automatically",因为路径已经指定
3. 配置 Maven
在 Maven Installations 部分:
- 点击 "Add Maven"。
- 填写以下内容:
- Name:比方 Maven 3.9.9。
- MAVEN_HOME:填写你的 Maven 路径 /opt/maven。
- 同样,确保未勾选 "Install automatically"。
4. 配置 Git
在 Git 工具部分:
- 如果有现成的 Git 配置,确认路径是否正确。
- 如果没有:
- 点击 "Add Git"。
- 填写以下内容:
- Name:比方 Default Git。
- Path to Git executable:填写 /usr/bin/git。
7. 配置Jenkins密钥
- docker exec -u root -it jenkins bash
- cd /root/.ssh/
- # 执行生成秘钥,输入后一路回车
- ssh-keygen -t rsa -C "root"
- # 公钥,放git仓库里面
- cat id_rsa.pub
- # 私钥,放jenkins里面
- cat id_rsa
复制代码 [code][/code] 输入用户名和 私钥id_rsa复制进去
第二种方式 用户名和密码
8. 配置项目,主动构建
新建maven项目
配置git地点 以及验证方式保存就行
构建测试
控制台输出
最后输出 Finished: SUCCESS 表现构建成功,也会显示jar在docker里面的位置,同样会在主机的映射目次里面
9.结语
如今构建好以后,就可以通过写一个shell脚本直接启动,或者通过其他方式主动部署
安装插件后可能有些报红,或者更新,注意看提示,安装所需的插件
jenkins 配置git 提示“无法连接堆栈 这个就是秘钥和 用户名密码,或者堆栈地点的问题
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |