基于Docker+Jenkins+Gitl搭建持续集成环境(部分关键笔记)

这篇具有很好参考价值的文章主要介绍了基于Docker+Jenkins+Gitl搭建持续集成环境(部分关键笔记)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Jenkins

# https://hub.docker.com/r/jenkins/jenkins
version: '3'
services:
  jenkins:
    image: registry.cn-hangzhou.aliyuncs.com/zhengqing/jenkins:2.346.1                  # 原镜像`jenkins/jenkins:2.346.1`
    container_name: jenkins                     # 容器名为'jenkins'
    restart: unless-stopped                             # 指定容器退出后的重启策略为始终重启,但是不考虑在Docker守护进程启动时就已经停止了的容器
    volumes:
      # 数据卷挂载路径设置,将本机目录映射到容器目录 (下面映射可在容器中执行宿主机docker命令)
      - "/usr/bin/docker:/usr/bin/docker"
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "/usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7"
#      - "/usr/local/bin/docker-compose:/usr/local/bin/docker-compose"  # 无效
      - "./jenkins/jenkins_home:/var/jenkins_home"
      # ThinBackup插件备份jenkins配置存储目录
      - "./jenkins/jenkins_config:/var/jenkins_config"
      # 解决jenkins安装插件报错: An error occurred during installation: No such plugin: cloudbees-folder
      # 下载地址  http://ftp.icm.edu.pl/packages/jenkins/plugins/cloudbees-folder/
      - "./jenkins/jenkins_home/war/META-INF/detached-plugins/cloudbees-folder.hpi:/var/jenkins_home/war/META-INF/detached-plugins/cloudbees-folder.hpi"
    environment:                                # 设置环境变量,相当于docker run命令中的-e
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
      JAVA_OPTS: '-Xmx2048M -Xms2048M -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:MaxNewSize=128m -Djava.util.logging.config.file=/var/jenkins_home/log.properties -Duser.timezone=Asia/Shanghai'
    user: root                                  # 使用root权限运行容器【docker中通过`-u root`命令】
    ports:                                      # 映射端口
      - "10000:8080"

# 当前目录下所有文件赋予权限(读、写、执行)
chmod -R 777 ./jenkins
# 运行
docker-compose -f docker-compose-jenkins.yml -p jenkins up -d

访问地址:ip地址:10000

查看密码
# 普通权限进入到docker容器
docker exec -it jenkins /bin/bash
# 使用root权限进入到docker容器
docker exec -it -u root jenkins /bin/bash
# 查看密码
cat /var/jenkins_home/secrets/initialAdminPassword

问题

jenkins升级问题
# docker下jenkins升级只要需要替换容器中的jenkins.war文件并重启docker容器
# 1.进入docker容器,其中-u root是使用root权限登录
docker exec -u root -it jenkins /bin/bash 
# 2.使用wget命令下载最新版本的jenkins.war文件
# 3.使用whereis jenkins命令查看jenkins的安装路径       `/usr/share/jenkins/jenkins.war`
# 4.使用cp命令将新的war包覆盖旧文件即可
# 5.浏览器访问ip:8080/restart 重启即可升级成功
# 备注:在进行容器部署时可以将容器的【/user/share/jenkins】目录挂载在宿主机上,以后升级只需替换jenkins.war文件即可。此种方式存在一个问题,在部署后由于宿主机的挂载文件夹为空,所以在部署后无法正常启动容器,放入jenkins.war与ref文件即可正常启动。
jenkins时区设置问题
# 1.进入系统管理->脚本命令行,执行下面命令设置为上海时间(该方式重启后失效)
System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai') 
# 2.在部署容器时添加参数,-e JAVA_OPTS=-Duser.timezone=Asia/Shanghai(一直有效)
配置插件更新代理
# 输入网址   http://localhost:8080/pluginManager/advanced 
# 进入该页面最底下,找到【Update Site】,
# 把其中的URL改成清华大学的Jenkins插件镜像地址:
# http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 
安装WebHooks并启用
# 在Jenkins插件管理搜索安装插件Generic Webhook Trigger
# 构建触发器启用钩子后地址: http://139.9.205.69:10000//generic-webhook-trigger/invoke?token=xxxx
# 为了安全可开启Generic Webhook Trigger Whitelist
配置Jenkins参数
# 打开updates文件夹中的default.json
# 把connectionCheckUrl中的http://www.google.com修改为http://www.baidu.com
# 把url中的http://updates.jenkins.io/download替换为http://mirrors.tuna.tsinghua.edu.cn/jenkins

解决jenkins安装插件报错: An error occurred during installation: No such plugin: cloudbees-folder

到国内清华大学开源软件镜像站的插件中心,下载这个插件

Index of /jenkins/plugins/skip-certificate-check/latest/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror文章来源地址https://www.toymoban.com/news/detail-689385.html

到了这里,关于基于Docker+Jenkins+Gitl搭建持续集成环境(部分关键笔记)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Jenkins实现Docker应用的持续集成与部署

    1. 服务器部署安装有docker 在docker应用开发中最常见的就是开发Dockerfile文件,可以使用代码仓库来管理它。 而在企业私有开发环境中是无法访问公有代码仓库(如Github)的。这时可以搭建私有代码仓库。 安装软件 sudo yum install -y subversion mod_dav_svn 创建svn仓库 sudo mkdir -p /srv/s

    2023年04月20日
    浏览(45)
  • Gitlab+Jenkins+Docker+Harbor+K8s集群搭建CICD平台(持续集成部署Hexo博客Demo)

    目录 涉及内容: 一、CICD服务器环境搭建 1、docker 环境安装 (1)、拉取镜像,启动并设置开机自启 (2)、配置docker加速器 2、安装并配置GitLab (1)、创建共享卷目录 (2)、创建 gitlab 容器 (3)、关闭容器修改配置文件 (4)、修改完配置文件之后。直接启动容器 (5)、相关

    2024年03月15日
    浏览(71)
  • jenkins+docker集成harbor实现可持续集成

    目录 一、前言 二、Harbor介绍 2.1 什么是Harbor 2.1.1 Harbor架构图 2.2 Harbor 特征 2.3 Harbor 核心组件 2.4 Harbor使用场景 三、Harbor部署 3.1 安装docker compose 3.1.1 安装方式一 3.2 基于python3 pip安装docker compose 3.2.1 安装python3 3.2.2 安装python-pip3并升级 3.2.3 执行命令安装 docker-compose 3.2.4 查看d

    2024年04月15日
    浏览(36)
  • Jenkins+Docker+SpringCloud微服务持续集成

    开发人员每天把代码提交到Gitlab代码仓库 Jenkins从Gitlab中拉取项目源码,编译并打成Jar包,然后构建成Docker镜像,将镜像上传到Harbor私有仓库 Jenkins发送SSH远程命令,让生产部署服务器到Harbor私有仓库拉取镜像到本地,然后创建容器 最后,用户可以访问到容器 服务器列表 服务

    2024年02月13日
    浏览(45)
  • 基于Docker环境下的Jenkins搭建及使用

    目录        前言: Docker下安装Jenkins 启动Jenkins Jenkins插件下载 配置Jenkins 修改Jenkins时间 配置Python3环境 配置HTML报告/Allure报告 Allure报告配置 简单使用-实例构建 参数化构建

    2024年02月01日
    浏览(35)
  • 持续集成搭建+邮件推送设置(jenkins+jmeter+ant)

    一、实现逻辑步骤: 1、本机安装ant; 2、jenkins中安装ant插件; 3、创建ant的build.xml; 4、在jenkins的job 中的调用ant插件:         1)运行build.xml         2)jenkins调用ant执行jmeter脚本         3)并用ant生成测试报告;         4)将报告存储到指定目录; 5、E-m

    2024年02月15日
    浏览(34)
  • SpringBoot+Docker+Git+Jenkins实现简易的持续集成和持续部署

    努力了这么久,但凡有点儿天赋,也该有些成功的迹象了。 本篇文章引导你使用 Jenkins 部署 SpringBoot 项目,同时使用 Docker 和 Git 实现简单的持续集成和持续部署。(项目地址:sso-merryyou) 流程图如下: push 代码到 Github 触发 WebHook 。(因网络原因,本篇使用gitee) Jenkins 从仓库拉去

    2024年02月21日
    浏览(42)
  • Jenkins+Docker+SpringCloud微服务持续集成之集群部署

      idea中修改注册中心eureka的配置,单节点换成集群   在启动微服务的时候,加入参数: spring.profiles.active 来读取对应的配置 网关服务配置   权限管理配置   业务模块配置       该插件可以支持多选框         逗号必须得是英文,否则出错       循环测试代码检查      

    2024年02月07日
    浏览(48)
  • 基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure)

    这里我以ubuntu18为例 如果有docker环境,可以直接拉取我打包好的镜像 docker pull ziyigun/jenkins:v1.0 1.1 安装docker 1.2 配置镜像加速 bug1:ExecStart=/usr/bin/dockerd -H fd:// 如果发现docker启动或者重启报错: ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILU

    2024年02月12日
    浏览(54)
  • 基于Jenkins的开发测试全流程持续集成实践

    目录 一、持续集成全流程介绍 二、ASP.NET Core CI流程部分 三、ASP.NET Core CD流程部分 四、RobotFramework AT流程部分 五、小结 本文将近半年来的一些实践总结一下,可能不太完善或优美,但的确初步解决了我目前所在项目组的一些痛点。当然这仅是一家之言也不够完整,后续还会

    2024年02月12日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包