Loading

Jenkins服务的搭建、配置

 

一、Jenkins的安装

(一)Docker安装

Jenkins的安装有很多方式,docker的方式进行安装:

复制代码
docker run \
  -u root \
  --rm \  
  -d \ 
  -p 8080:8080 \ 
  -p 50000:50000 \ 
  -v jenkins-data:/var/jenkins_home \ 
  -v /var/run/docker.sock:/var/run/docker.sock \ 
  jenkinsci/blueocean 
复制代码

详情可查看:https://www.jenkins.io/zh/doc/book/installing/

  • -u root 防止进入容器权限不足
  • --rm 关闭时自动删除Docker容器 
  • -d 后台运行容器(即“分离”模式)并输出容器ID
  • -p 8080:8080 过端口8080访问主机上的Jenkins

...

然后通过ip:8080访问,此时需要解锁Jenkins,获取容器中的管理员密码:

docker exec ef59215fc5b6 cat /var/jenkins_home/secrets/initialAdminPassword

然后输入获取密码即可。

(二)Docker Compose安装

  • 拉取jenkins镜像
docker pull jenkins/jenkins
  • 编写docker-compose.yml
复制代码
version: "3.1"
services:
  jenkins:
    image: jenkinsci/blueocean
    container_name: jenkins
    ports:
      - 8080:8080
      - 50000:50000
    volumes:
      - ./data/:/var/jenkins_home/
复制代码

首次启动会因为数据卷data目录没有权限导致启动失败:

复制代码
[root@localhost ~]# docker compose up
[+] Running 2/2
 ⠿ Network root_default  Created                                                                                                                                                                        0.5s
 ⠿ Container jenkins     Created                                                                                                                                                                        0.2s
Attaching to jenkins
jenkins  | touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
jenkins  | Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
复制代码

设置data目录写权限:

chmod -R a+w data/

重新启动Jenkins容器:

复制代码
[root@localhost ~]# docker compose restart
[+] Running 1/0
 ⠿ Container jenkins  Created                                                                                                                                                                           0.0s
Attaching to jenkins
...
复制代码

由于Jenkins需要下载大量内容,但是由于默认下载地址下载速度较慢,可以重新设置下载地址为国内镜像站,然后重新执行 docker compose up,在映射的卷中:

复制代码
# 修改数据卷中的hudson.model.UpdateCenter.xml文件
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://updates.jenkins.io/update-center.json</url>
  </site>
</sites>
# 将下载地址替换为http://mirror.esuni.jp/jenkins/updates/update-center.json
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>http://mirror.esuni.jp/jenkins/updates/update-center.json</url>
  </site>
</sites>
# 清华大学的插件源也可以https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
复制代码

重启后进行登录,通过ip:8080访问,此时需要解锁Jenkins,获取容器中的管理员密码:

docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword

二、Jenkins的配置

进入jenkins后进行选择插件安装,推荐插件安装会很慢,后面需要配置源:

然后选择“无”即可,点击右下角安装:

 

接下来是创建管理员用户:

 

 实例配置是访问的地址,无需更改,保存并完成:

三、插件安装

1、插件源配置

  • 修改源地址

进入 Manage Jenkins -> Manage Plugin -> Advanced 最下面有 Update Site,设置为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

  • 修改服务器地址

可以通过挂载卷中进行修改,也可以进入容器中进行修改(/var/jenkins_home/updates/default.json),在default.json文件中

# updates.jenkins.io/download替换为 mirrors.tuna.tsinghua.edu.cn/jenkins
sed -i 's#updates.jenkins.io/download#mirrors.tuna.tsinghua.edu.cn/jenkins#g' default.json

# www.google.com 修改为 www.baidu.com
sed -i 's/www.google.com/www.baidu.com/g' default.json
  • 重启Jenkins服务
docker restart ef59

2、安装插件

比如:

  • Localization: Chinese (Simplified)  汉化
  • git

...

在插件安装完毕后,就会在系统管理--> 全局工具配置 出现此插件工具的配置。

 

作者:iveBoy
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
posted @ 2023-06-04 18:19  小小的编程员  阅读(173)  评论(0编辑  收藏  举报