Jenkins

拉取镜像

docker pull jenkins/jenkins:lts

docker-compose.yml文件

端口映射8081是因为本人使用的宿主机上8080端口已经被其他应用程序占用

version: '3.1'
services:
  jenkins:
    image: jenkins/jenkins:lts
    container_name: jenkins
    volumes:
          - /data1/data/jenkins/:/var/jenkins_home
          - /var/run/docker.sock:/var/run/docker.sock
          - /usr/bin/docker:/usr/bin/docker
          - /usr/local/bin/docker-compose:/usr/local/bin/docker-compose
          - /data1/data/jenkins/usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7
    ports:
        - "8081:8080"
    expose:
        - "8081"
        - "50000"
    privileged: true
    user: root
    restart: always
    environment:
        JAVA_OPTS: '-Djava.util.logging.config.file=/var/jenkins_home/log.properties'

为了在Jenkins容器内使用docker命令与docker-compose命令,这部分的宿主机数据卷挂载路径需按照docker及docker-compose在宿主机的实际安装路径来

- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- /usr/local/bin/docker-compose:/usr/local/bin/docker-compose

查看初始密码

# 进入jenkins容器内部
docker exec -it jenkins bash
# 查询初始密码
cat /var/jenkins_home/secrets/initialAdminPassword

如果在初始化过程中使用的是admin登录,那么后续登录的密码仍是初始密码

配置Maven

 

Jenkins构建镜像没有权限

解决方案

Jenkins数据卷挂载路径未包含正确的docker,具体请参照上述docker-compose.yml文件

 

打包部署

 

使用插件Version Number Plugin动态生成项目版本号

安装插件

构建环境变量

使用环境变量

结果展示

注:今天是2024.02.20

 

 

参考链接

【1】Jenkins+Docker 一键自动化部署 SpringBoot 项目

【2】解决Jenkins容器内无法使用docker命令问题

【3】解决Jenkins容器内无法使用docker-compose命令问题

【4】Version Number插件说明文档

posted @ 2024-02-19 14:19  先娶国王后取经  阅读(5)  评论(0编辑  收藏  举报