Jenkins 是一个开源的自动化服务器,用于持续集成(CI)和持续交付(CD)软件项目。它允许开发人员在软件开发过程中自动化各种任务,如构建、测试和部署,从而提高开发效率和软件质量
搭建Jenkins CI/CD平台
1、购买华为云 Flexus X 实例
Flexus云服务器X实例-华为云 (huaweicloud.com)
2、安装docker,并检查安装版本(此处我已安装不做演示)

3、JDK安装(Jenkins基于Java编写)提前去官网下载JDK选择合适的Linux版本如:openjdk-14.0.2_linux-x64_bin.tar.gz,将jdk传入服务器中通过xftp,放入路径/usr/local/java
mkdir /usr/local/java

•将jdk传入服务器中通过xftp,放入路径/usr/local/java

4、解压软件包
tar -zxvf openjdk-14.0.2_linux-x64_bin.tar.gz

5、配置jdk环境变量
export JAVA_HOME=/usr/local/java/jdk-14.0.2
export PATH=$JAVA_HOME/bin:$PATH

•更新环境变量使其生效
source /etc/profile

6、查看是否安装成功Java环境

7、Maven官网下载Maven并且进行Maven配置,首先创建文件夹/usr/local/maven,将Maven传入服务器中通过xftp,放入路径/usr/local/maven
mkdir -p /usr/local/maven


8、解压软件包
tar -zxvf apache-maven-3.9.9-bin.tar.gz

9、创建repository仓库存放jar包
mkdir repository

10、配置Maven仓库,配置镜像地址
<mirrors>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
-->
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>

•环境变量配置
vim /etc/profile
export MAVEN_HOME=/usr/local/maven/apache-maven-3.9.9
export PATH=$PATH:$MAVEN_HOME/bin

•查看是否成功
source /etc/profile
mvn -v

11、部署Jenkins
•编写 Docker Compose 配置文件在 /jenkins目录下创建一个 docker-compose.yaml 文件,使用以下命令打开编辑器
version: "2.29.1"
services:
myjenkins:
image: jenkins/jenkins
container_name: myjenkins
ports:
- "1020:8080"
- "1021:50000"
volumes:
- /jenkins/data/:/var/jenkins_home/
- /usr/local/java/jdk-14.0.2:/usr/local/java
- /usr/local/maven/apache-maven-3.9.9:/usr/local/maven
environment:
- JAVA_OPTS=-Dorg.apache.commons.jelly.tags.fmt.timeZone='Asia/Shanghai'
restart: always

•启动 Jenkins 服务(必须在编写docker-compose.yaml 文件路径下执行启动 Jenkins 服务命令)
docker-compose up -d

•如果出现Segmentation fault,则说明Docker Compose文件有问题需要删除重新安装
[root@flexusx-3202 ~]# docker-compose --version
Segmentation fault
按照命令(国内镜像源)
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
给定权限
chmod +x /usr/local/bin/docker-compose
12、查看是否运行
docker ps

13、华为云端口放行1020和1021


14、浏览器访问公网IP:1020

•如果出现浏览器无法访问的问题,可查看日志,并根据日志修改
docker logs myjenkins

15、查看Jenkins 管理员密码
cat /jenkins/data/secrets/initialAdminPassword

16、输入密码登录即可


17、搭建完成

总结
华为云服务器Flexus X实例,Docker集成搭建Jenkins CI/CD平台,可以执行一系列自动化操作,显著提升软件开发的效率和质量,实现持续集成、持续部署、自动化流程管理等,个人自主搭建不仅仅提升个人能力,更加能够扩展知识面,如果有小伙伴想搭建可以购买华为云服务器Flexus X实例,此刻服务器正在大促,优惠力度非常大!
华为云828 Flexus X实例

