828华为云征文 | 云服务器Flexus X实例,Docker集成搭建Jenkins CI/CD平台
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实例