将整个Jenkins发布到git,完成Jenkins备份,附上部署教程

这篇具有很好参考价值的文章主要介绍了将整个Jenkins发布到git,完成Jenkins备份,附上部署教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们的Jenkins一般都是两种部署方式,一种是直接部署到机器上,另一种是部署在docker内,但是不管哪一种部署方式,都依赖于机器的存货性,下面咱这个也相当于一个备份方案吧,可以随便想部署到哪里就部署到哪里。

首先,大家要先了解Jenkins_home 这个目录内具体都代表什么含义,大家可以看此人的文章, 介绍了Jenkins的目录   JENKINS_HOME 目录解析 - 简书

 然后大家了解了Jenkins目录之后,就可以根据自己的项目需求,具体决定自己的Jenkins需要保存什么目录,大家可以看下我的,我的这个jobs中,只留下了各个job的config.xml文件,所以当Jenkins启动起来时,只有干净的job,没有任何的日志

将整个Jenkins发布到git,完成Jenkins备份,附上部署教程

 接下来呢说一下部署,还有插件的安装

部署呢还是用到了docker-compose,安装教程Docker Compose | 菜鸟教程

docker-compose.yml 文件

version: "2"
services:
  jenkins:
    platform: linux/amd64
    container_name: jenkins-node-perf
    build:
      context: .
      dockerfile: ./jenkins-server/Dockerfile
      args:
        - proxy=${proxy}
    ports:
      - ${SERVER_PORT}:8080
      - 50000:50000
    volumes:
      - jenkins-data:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
      # Must mount host's /tmp dir, since we will mount some temp dir into workload docker image,
      # and we actually use host's docker daemon
      - /tmp:/tmp
    environment:
      - JENKINS_IP=${SERVER_IP}
      - JENKINS_PORT=${SERVER_PORT}
      # - DOCKER_HOST=tcp://docker:2376
      # - DOCKER_CERT_PATH=/certs/client
      # - DOCKER_TLS_VERIFY=1
    restart: on-failure

networks:
  default:
    name: jenkins

volumes:
  jenkins-data: {}
  # jenkins-docker-certs: {}

Jenkins-serer目录内容,install_plugins.py 是安装插件写的一个python脚本,plugin_list.txt 插件列表文件,自己根据自己的Jenkins文件写,requirements python需要的包,也是根据自己的Jenkins而定 

外层的 .env文件是docker-compose 需要的变量,根据自己的需求定

 将整个Jenkins发布到git,完成Jenkins备份,附上部署教程

Dockerfile 文件内容 

大家首先需要自己docker pull jenkins/jenkins:2.361.4-jdk11  从docker拉取此镜像


FROM jenkins/jenkins:2.361.4-jdk11
ARG proxy=""
USER jenkins
# ADD --chown=jenkins:jenkins ./jobs/ /var/jenkins_home/jobs
ADD --chown=jenkins:jenkins ./jenkins-home /var/jenkins_home
ADD ./jenkins-server/requirements.txt .
ADD ./jenkins-server/install_plugins.py .
ADD ./jenkins-server/plugin_list.txt .

ADD ./jenkins-server/config.json /var/jenkins_home/.docker/config.json

# setup IP

RUN echo "<?xml version='1.1' encoding='UTF-8'?>                                    \
<jenkins.model.JenkinsLocationConfiguration>                                        \
  <adminAddress>address not configured yet &lt;nobody@nowhere&gt;</adminAddress>    \
  <jenkinsUrl>http://$JENKINS_IP:$JENKINS_PORT/</jenkinsUrl>                        \
</jenkins.model.JenkinsLocationConfiguration>" > /var/jenkins_home/jenkins.model.JenkinsLocationConfiguration.xml

USER root

env http_proxy $proxy
env https_proxy $proxy
env ftp_proxy $proxy

RUN apt-get update && apt-get install -y lsb-release
RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
  https://download.docker.com/linux/debian/gpg
RUN echo "deb [arch=$(dpkg --print-architecture) \
  signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
  https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list

RUN apt-get update && apt-get install -y docker-ce-cli python3-pip runc bc

RUN chown -R jenkins /var/jenkins_home/jobs
RUN chgrp -R jenkins /var/jenkins_home/jobs

# setup docker without sudo

RUN groupadd docker
RUN usermod -aG docker jenkins
RUN newgrp docker

# USER jenkins

RUN python3 install_plugins.py
RUN pip3 install -r requirements.txt

 install_plugins 脚本

import os

f = open('plugin_list.txt', 'r')
for plugin in f.readlines():
    plugin = plugin.strip('\n')
    print(f'Installing plugin [{plugin}] ...', flush=True)
    cmd = f'JAVA_TOOL_OPTIONS="" jenkins-plugin-cli --plugins {plugin} > /dev/null 2>&1'
    ret_code = os.WEXITSTATUS(os.system(cmd))

    if (ret_code != 0):
        exit(1)

 然后运行docker-compose up   就可以运行了文章来源地址https://www.toymoban.com/news/detail-404149.html

到了这里,关于将整个Jenkins发布到git,完成Jenkins备份,附上部署教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • # Jenkins:一键部署与备份的终极解决方案

    在持续集成和持续部署(CI/CD)的世界中,Jenkins 作为一个开源自动化服务器,扮演着至关重要的角色。但是,部署和维护 Jenkins 服务往往需要一定的技术知识和时间。这里介绍一个强大的工具—— Awesome-Jenkins ,它旨在简化 Jenkins 的部署和任务备份过程。 github地址:https://

    2024年01月19日
    浏览(52)
  • 基于Jenkins CICD的代码发布与回滚 Jenkins+Git+Docker 发布 Java 项目 Jenkins+Git+Ansible 发布PHP 项目

    目录 案例概述 案例环境 基于 Jenkins+Git+Docker 发布 Java 项目 1、配置 Git 仓库 2、配置 Docker服务器 3、部署镜像仓库 5、配置Jenkins 环境 6、Jenkins 创建项目并发布测试 7、版本回滚 基于Jenkins+Git+Ansible 发布PHP 项目 1、部署PHP 运行环境 2、安装Ansible 插件 3、上传PHP 项目代码到Git仓

    2024年02月03日
    浏览(41)
  • 17.Jenkins完成自动化 拉取,编译,打包,部署

    1.1安装gitee插件到jenkins  gitee默认不允许内网触发。----必须要配置内网穿透 NATAPP -       思考: 我们的项目和jenkins是不是都在一台服务器上。因为jenkins它所在的服务器非常耗费资源,因为jenkins本身要集成很多软件。如果这时项目也部署到当作jenkins所在的服务器,势必会导致

    2024年02月04日
    浏览(48)
  • 宝塔 安装/使用/备份数据 Jenkins-图文小白教程

    大家可以从Jenkins官网(https://www.jenkins.io/)根据自己的需要下载最新的版本。 但Jenkins官网下载较慢,容易造成下载失败。可以去国内的开源镜像网站下载Jenkins最新版本。目前博主使用的是清华大学的开源镜像网站(https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/latest/),大家可以根

    2024年02月10日
    浏览(40)
  • Jenkins拉取代码构建完成后部署到其他服务器(详解)

    问题描述: 文章介绍了如何在linux从0搭建jenkins平台,并实现获取git上的代码,进行代码的自动化打包部署。 一、检查Java环境 因为jenkins的运行依赖于Java环境,所以我们在进行jenkins搭建时,需要先确保自己的linux有java环境。如果没有请先安装java环境(建议安装java11,因为新

    2024年02月04日
    浏览(49)
  • Jenkins打包、发布、部署

    目录 前言 一、安装jdk 二、安装maven 三、安装git 四、安装jenkins 五、访问jenkins  六、创建用户 七、配置jenkins 八、执行 总结 服务器:CentOS 7.9 64位 jdk:1.8 maven:3.9.1 git:git version 1.8.3.1 jenkins:2.346.3 1、下载jdk的rpm安装包(根据自己的操作系统选择对应版本),上传到服务器

    2024年02月07日
    浏览(40)
  • Jenkins的环境部署,(打包、发布、部署、自动化测试)

    一、Tomcat环境安装 1.安装JDK(Java环境) JDK下载地址:Java Downloads | Oracle 安装好后在系统环境变量里配置环境变量: ①添加JAVA_HOME 变量名:JAVA_HOME 变量值:C:Program FilesJavajdk1.8.0_181(根据自己的实际路径配置) ②添加CLASSPATH 变量名:CLASSPATH 变量值:.;%JAVA_HOME%libdt.jar;%J

    2024年01月18日
    浏览(45)
  • Jenkins配置maven项目,打包、部署、发布

    Jenkins和项目在两台服务器上 Jenkins的下载安装部署省略,可自行上官网。 1.安装maven插件 完成后,会出现“success”,并且勾选“安装完成后重启Jenkins(空闲时)” 2.部署有Jenkins的服务器上,下载maven,配置环境变量,我在opt/目录下放着。  执行命令: Jenkins配置maven 配置maven,

    2024年02月09日
    浏览(45)
  • docker+jenkins+dockerfile 自动化部署发布

    提示: 文章如有错误的地方请指出,以免误人子弟! 提示:以下是本篇文章正文内容,下面案例可供参考 下载镜像 下载maven maven 官网下载地址 或者使用命令下载 通过软件放到 linux 的目录下,这边放到Home目录下 解压 进到解压的目录下,创建项目的本地仓库文件夹并赋予读

    2024年02月05日
    浏览(47)
  • 苹果iphone如何备份整个手机 苹果怎么查备份的照片

    手机上的数据变得越来越重要,大家也越来越注重数据安全。如果手机设备丢失的话,不仅是设备的丢失,还是数据的丢失。因此,备份数据就显得很重要。那么,iphone如何备份整个手机,苹果怎么查备份的照片?下面就让我们来详细了解一下吧。 一、iphone如何备份整个手机

    2024年02月11日
    浏览(56)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包