Jenkins自动集成之路-搭建部署编

本文介绍了如何在阿里云GFS-2服务器上利用Docker部署Jenkins,包括设置环境背景、下载Jenkins镜像、配置初始化密码、修改插件资源库地址以及安装推荐插件,旨在实现代码提交后自动构建并部署到集成环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标

搭建部署起Jeckins,让团队提交代码后能自动构建,并发布到研发到集成环境

环境背景

阿里云GFS-2服务器(CentOS 7.6 64位),gitlab,docker,Java11,SpringBoot,微服务架构,私服

Jenkins到简介

Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。

官网:https://jenkins.io/zh/

文档:https://jenkins.io/zh/doc/

下载:https://jenkins.io/zh/download/

部署jenkins By docker

下载好镜像后,我上传到私服仓库里

由于在阿里云GFS-2服务器已经安装docker(可以参考Docker容器历练之路-搭建部署编),

我们直接拉取镜像进行安装(我这从私服拉到,大伙可以到官网下载)

docker pull 172.xx.209.xx:8082/jenkins/jenkins:20200202

拉取完成后执行下面运行命令

docker run \
    -u root \
    -d \
    -p 18080:8080 \
    -p 50000:50000 \
    -v /data/jenkins_home:/var/jenkins_home \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /usr/bin/docker:/usr/bin/docker \
    -v /home/jenkins_root:/home \
    -v /etc/localtime:/etc/localtime
    -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai
    --name jenkins145 \
    172.xx.209.xx:8082/jenkins/jenkins:20200202
参数说明
-p映射(例如“发布”)jenkinsci/blueocean 容器的端口8080到主机上的端口8080。 第一个数字代表主机上的端口,而最后一个代表容器的端口。因此,如果您为此选项指定 -p 49000:8080 ,您将通过端口49000访问主机上的Jenkins。
-p(可选)将 jenkinsci/blueocean 容器的端口50000 映射到主机上的端口50000。 如果您在其他机器上设置了一个或多个基于JNLP的Jenkins代理程序,而这些代理程序又与 jenkinsci/blueocean 容器交互(充当“主”Jenkins服务器,或者简称为“Jenkins主”), 则这是必需的。默认情况下,基于JNLP的Jenkins代理通过TCP端口50000与Jenkins主站进行通信。 您可以通过“ 配置全局安全性” 页面更改Jenkins主服务器上的端口号。如果您要将您的Jenkins主机的JNLP代理端口的TCP端口 值更改为51000(例如),那么您需要重新运行Jenkins(通过此 docker run …​命令)并指定此“发布”选项 -p 52000:51000,其中最后一个值与Jenkins master上的这个更改值相匹配,第一个值是Jenkins主机的主机上的端口号, 通过它,基于JNLP的Jenkins代理与Jenkins主机进行通信 - 例如52000。
-v(可选,但强烈建议)映射在容器中的/var/jenkins_home 目录到宿主的/data/jenkins_home。 如果这个卷不存在,那么这个 docker run 命令会自动为你创建卷。 如果您希望每次重新启动Jenkins(通过此 docker run … 命令)时保持Jenkins状态,则此选项是必需的 。 如果你没有指定这个选项,那么在每次重新启动后,Jenkins将有效地重置为新的实例。注意: 所述的 jenkins-data 卷也可以 docker volume create命令创建: docker volume create jenkins-data 代替映射 /var/jenkins_home 目录转换为Docker卷,还 可以将此目录映射到计算机本地文件系统上的目录。 例如,指定该选项 -v H O M E / j e n k i n s : / v a r / j e n k i n s h o m e 会 将 容 器 的 / v a r / j e n k i n s h o m e 目 录 映 射 到 本 地 计 算 机 上 目 录 中 的 j e n k i n s 子 目 录 , 该 HOME/jenkins:/var/jenkins_home 会将容器的 /var/jenkins_home 目录映射 到 本地计算机上目录中的 jenkins 子目录, 该 HOME/jenkins:/var/jenkinshome/var/jenkinshomejenkinsHOME目录通常是 /Users//jenkins 或/home/<your-username>/jenkins
-v(可选 )/var/run/docker.sock 表示Docker守护程序通过其监听的基于Unix的套接字。 该映射允许 jenkinsci/blueocean 容器与Docker守护进程通信, 如果 jenkinsci/blueocean 容器需要实例化其他Docker容器,则该守护进程是必需的。 如果运行声明式管道,其语法包含agent部分用 docker。例如, agent { docker { … } } 此选项是必需的。 在Pipeline Syntax 页面上阅读更多关于这个的信息 。
-v/usr/bin/docker,将宿主的docker绑定到容器,让容器可以操作宿主的docker
-v/home/root:/home,将宿主的/home/root目录绑定到容器到目录/home
–name如果希望或需要 jenkinsci/blueocean 通过 命令提示符通过终端/命令提示符访问docker exec ,则可以添加一个选项 --name jenkins-blueocean(如 docker run 所述),这会为容器命名为 “jenkins-blueocean” 。这意味着你可以使用如下命令访问容器(通过单独的终端/命令提示符窗口) :docker exec -it jenkins-blueocean bash
最后一行jenkinsci/blueocean Docker镜像本身。如果此镜像尚未下载,则此 docker run 命令 将自动为您下载镜像。此外,如果自上次运行此命令后发布了此镜像的任何更新, 则再次运行此命令将自动为您下载这些已发布的镜像更新。 注意:这个Docker镜像也可以使用以下 docker pull命令独立下载(或更新) : docker pull jenkinsci/blueocean 。

配置Jenkins

1,获取初始化密码,登陆

#进入Jenkins的docker容器
docker exec -it jenkins183 bash
#进入到初始化密码目录
cd /var/jenkins_home/secrets/
#查看
cat initialAdminPassword

2,设置插件资源库地址

需要进入jenkins的工作目录,打开hudson.model.UpdateCenter.xml
把http://updates.jenkins-ci.org/update-center.json改成

http://mirror.xmission.com/jenkins/updates/update-center.json

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

3,输入密码登陆,安装所有推荐到插件

如果上通过页面取修改的插件资源库地址的,一定要记得提交后要点击更新,如下图步骤:
把界面拉到地步,点击中文社区(要安装中文插件先)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值