docker安装jenkins并实现CICD流程

docker安装jenkins并实现CICD流程

安装命令

官方安装参考:https://www.jenkins.io/zh/doc/book/installing/

  • 拉取docker镜像,使用jenkinsci/blueocean
docker pull jenkinsci/blueocean:latest
  • 使用dockerwin环境下将\换成^

    docker run \
      --name jks \
      --privileged=true \
      -u root \
      -d \
      -p 8121:8080 \
      -p 50010:50000 \
      -v /Users/xxx/project/jks:/var/jenkins_home \
      -v /var/run/docker.sock:/var/run/docker.sock \
      jenkinsci/blueocean
    
  • 使用docker-compose

    // docker-compose.yml
    version: '3'  #定义版本
    services:  
      jenkins:
        container_name: jenkins
        image: jenkinsci/blueocean:latest
        user: root
        priveleged: true  #开启特权
        ports:  #定义映射端口
        - 8080:8080
        - 50000:50000
        volumes:  #定义挂载卷
        - /var/jenkins-data:/var/jenkins_home
        // - /usr/bin/docker:/usr/bin/docker
        - /var/run/docker.sock:/var/run/docker.sock
    

    启动命令

    docker-compose up -d
    
  • 查看docker容器

初始化设置

docker容器启动较慢,一开始打开web网页的时候画面如下

Please wait while Jenkins is getting ready to work

过程中本地挂载的文件夹也会下载文件

进入docker容器内部查看log

docker exec -it jks /bin/bash

或使用命令

docker log jks

或使用docker desktop

出现如下字样表示初始化成功

2024-02-22 14:29:16 2024-02-22 06:29:16.820+0000 [id=54]        INFO    jenkins.InitReactorRunner$1#onAttained: Completed initialization
2024-02-22 14:29:16 2024-02-22 06:29:16.863+0000 [id=32]        INFO    hudson.lifecycle.Lifecycle#onReady: Jenkins is fully up and running

密码存储的位置如下,在上图的log中也可以查看到

docker logs jks
或
docker exec -it jks /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword

安装插件,选择安装推荐的插件即可

等待安装,可能有一部分安装失败,一般是因为jenkins版本问题,需要进入主页面,更新后再安装,右下角选择【继续】即可

创建一个管理员账户

实例配置,不要使用localhost,使用docker的宿主机地址:http://host.docker.internal:8121/这里是为了配置git仓库的webhook时,能够访问通,使用域名也可以

配置完成后【重启】jenkins,使用刚刚注册的用户登陆

更新jenkins及插件

进入主页,可以看到右下角的Jenkins版本

更新jenkins版本

选择右上角橙色警示⚠️,查看配置插件,blueocean镜像中的jenkins停留在2023年,版本为2.346.3,这会导致很多插件报错,如下图

Mina SSHD API :: Core (2.12.0-90.v9f7fb_9fa_3d3b_)
Jenkins (2.361.4) or higher required

一直下拉,选择【自动升级】Jenkins

如果下拉没有升级,出现的画面如下

则回到主页面,选择【系统管理】,也可以找到升级

等待下载jenkins.war完成后,重启镜像

再次进入,jenkins已更新,此时登陆页面也变了

更新插件

更新jenkins之后再更新插件,主页面,选择【系统管理】-【插件管理】

更新全部已经存在的插件

安装完再次重启jenkins镜像,登陆进入即可正常使用

创建第一个任务

主页面左侧【新建任务】

基础项目有Freestyle project流水线(pipeline),选择创建pipeline

可以只设置一个hello worldJenkinsfile

点击应用和保存,跳转

pipeline {
    agent any

    stages {
        stage('Hello') {
            steps {
                echo 'Hello World'
            }
        }
    }
}

点击【立即构建】

选择构建历史,查看【Console Output】,查看构建

修改配置

插件更新中心

镜像地址

维护方镜像中心地址
Jenkins中文社区https://updates.jenkins-zh.cn/update-center.json
清华大学https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
华为开源镜像站https://mirrors.huaweicloud.com/jenkins/updates/update-center.json

方法一:web页面设置
【系统管理】-【插件管理】-【高级设置】

方法二:直接修改配置文件

配置文件在docker镜像内的位置:/var/jenkins_mount/hudson.model.UpdateCenter.xml

或宿主机映射都可以找到这个文件

打开文件,修改url标签的内容即可

时区设置

默认是UTC时区标准时间,导致了jenkins的构建时间和宿主机差了8个小时

  • 方法一:用户设置中选择时区

  • 方法二:【Manage Jenkins】-【Script Console】,终端输入命令修改

    System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone','Asia/Shanghai')
    

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

anjushi_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值