• linux通过docker容器下载和安装Jenkin


    linux下载和安装Jenkin在docker容器上

    如今有多个Jenkins镜像,但官方最推荐的镜像是jenkins/jenkins:lst,这个镜像是目前Jenkins长期支持版本(Long-Term Support). 该镜像未内置Docker CLi而且没有包含常用的Blue Ocean 插件和特性,想要使用所有Jenkins特性需要执行下列步骤。

    注:历史版本的jenkins可以通过查看 Tag

    开始

    1. 打开命令行
    2. 在docker中使用docker network create创建bridge network:

      docker network create jenkins

    3. 为了在Jenkins节点内部执行Docker命令,下载并运行docker:dind Docker镜像并使用docker run命令:

      docker run
      --name jenkins-docker
      --rm
      --detach
      --privileged
      --network jenkins
      --network-alias docker
      --env DOCKER_TLS_CERTDIR=/certs
      --volume jenkins-docker-certs:/certs/client
      --volume jenkins-data:/var/jenkins_home
      --publish 2376:2376
      docker:dind
      --storage-driver overlay2

    注解

    • --name jenkins-docker: (可选)指定容器名称,默认情况下,docker会生成一个独一名称。
    • --rm : (可选)当容器关闭时自动移除Docker容器(Docker镜像实例)
    • --detach : 后台运行Docker容器。可以通过过docker stop jenkins-docker来关闭。
    • --privileged : 在docker中运行docker管理员权限才能运行。
    • --network jenkins : 该步骤对应之前创建的桥接网络
    • --network-alias docker : 使得在jenkin网络下主机名为docker的容器其内部运行容器正常工作。
    • --env DOCKER_TLS_CERTDIR=/certs : 使TLS在docke服务中工作,通过有特权容器,推荐选项,即使该操作需要共享数据卷。该环境变量控制着Docker TLS证书管理的根目录。
      映射位于容器内/var/jenkins_home目录到Docker数据卷。
    • --volume jenkins-docker-certs:/certs/client : 映射位于容器内的/certs/client目录到上述创建的名为jenkins-docker-certs的数据卷中。
    • --volume jenkins-data:/var/jenkins_home : 数据卷名为jenkin-data。这会允许其他被该容器控制的Docker容器进程从jenkins挂在数据。
    • --publish 2376:2376 :(可选)暴露docker进程端口到主机,该指令有利于控制内嵌docker进程。
    • docker:dind : 这个进项子啊运行前需要执行命令: docker image pull docker:dind.
    • --storage-driver overlay: 容器数据卷的储存驱动。
    1. 通过下列两个步骤可以客制化官方的镜像:
      • 创建Dockerfile

    FROM jenkins/jenkins:2.332.3-jdk11
    USER root
    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
    USER jenkins
    RUN jenkins-plugin-cli --plugins "blueocean:1.25.3 docker-workflow:1.28"

    • 从该dockerfile创建一个新的镜像在赋予一个名字,如"myjenkins-blueocean:2.332.3-1"

      docker build -t myjenkins-blueocean:2.332.3-1 .

    1. 运行自己的docker build -t myjenkins-blueocean:2.332.3-1 .镜像使用下述命令:

      docker run
      --name jenkins-blueocean
      --restart=on-failure
      --detach
      --network jenkins
      --env DOCKER_HOST=tcp://docker:2376
      --env DOCKER_CERT_PATH=/certs/client
      --env DOCKER_TLS_VERIFY=1
      --publish 8080:8080
      --publish 50000:50000
      --volume jenkins-data:/var/jenkins_home
      --volume jenkins-docker-certs:/certs/client:ro
      myjenkins-blueocean:2.332.3-1

    2. 在浏览器上访问 http://localhost:8080 并执行后续操作。
  • 相关阅读:
    5.电影搜索之 自动填充,也叫autocomplete、搜索建议!
    4.电影搜索之如何把视频播放器嵌入网页 百度影音+快播
    3.电影搜索之采集
    2.电影搜索之整体结构
    软件工程期末考试复习
    python数据库连接池DBUtils
    python实现定时发送系列
    flask高阶
    python对象转字典
    flask中的蓝图与红图
  • 原文地址:https://www.cnblogs.com/realms/p/16331464.html
Copyright © 2020-2023  润新知