Jenkins介绍

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具

Jenkins应用广泛,大多数互联网公司都采用Jenkins配合GitLab、Docker、K8s作为实现DevOps的核心工具。

Jenkins最强大的就在于插件,Jenkins官方提供了大量的插件库,来自动化CI/CD过程中的各种琐碎功能。

Jenkins最主要的工作就是将GitLab上可以构建的工程代码拉取并且进行构建,再根据流程可以选择发布到测试环境或是生产环境。

一般是GitLab上的代码经过大量的测试后,确定发行版本,再发布到生产环境。

CI/CD可以理解为:

  • CI过程即是通过Jenkins将代码拉取、构建、制作镜像交给测试人员测试。

    • 持续集成:让软件代码可以持续的集成到主干上,并自动构建和测试。
  • CD过程即是通过Jenkins将打好标签的发行版本代码拉取、构建、制作镜像交给运维人员部署。
    • 持续交付:让经过持续集成的代码可以进行手动部署。
    • 持续部署:让可以持续交付的代码随时随地的自动化部署。
CI、CD

Jenkins安装

  • 拉取Jenkins镜像

    docker pull jenkins/jenkins:2.361.4-lts
  • 编写docker-compose.yml

    version: "3.6"
    services:
    jenkins:
    user: root
    restart: always
    image: jenkins/jenkins:2.361.4-lts
    container_name: jenkins
    ports:
    - 8080:8080
    - 50000:50000
    volumes:
    - /srv/jenkins/jenkins_home/:/var/jenkins_home/
    - /var/run/docker.sock:/var/run/docker.sock
    - /usr/bin/docker:/usr/bin/docker
    - /etc/docker/daemon.json:/etc/docker/daemon.json

    启动容器

    docker compose up -d

    启动Jenkins容器后,由于Jenkins需要下载大量内容,但是由于默认下载地址下载速度较慢,如有需要可以设置下载地址为国内镜像站

    # 修改数据卷中的hudson.model.UpdateCenter.xml文件
    <?xml version='1.1' encoding='UTF-8'?>
    <sites>
    <site>
    <id>default</id>
    <url>https://updates.jenkins.io/update-center.json</url>
    </site>
    </sites>
    # 将下载地址替换为http://mirror.esuni.jp/jenkins/updates/update-center.json
    <?xml version='1.1' encoding='UTF-8'?>
    <sites>
    <site>
    <id>default</id>
    <url>http://mirror.esuni.jp/jenkins/updates/update-center.json</url>
    </site>
    </sites>
    # 清华大学的插件源也可以https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

访问Jenkins首页

访问Jenkins(需要稍微等会儿)

Jenkins首页

查看密码登录Jenkins

docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword
查看密码登录

下载插件

  • 选择插件来安装

    下载插件
  • 选择需要安装的插件(可能会出现下载失败的插件,可以后续在插件市场安装)

    选择需要安装的插件

设置管理员信息

  • 下载完毕设置管理员信息

    设置管理员信息

配置Jenkins访问路径

配置Jenkins访问路径

进入首页

进入首页

至此,Jenkins部署及基本的设置就完成了

Docker Compose 部署 Jenkins的更多相关文章

  1. 使用Docker Compose部署基于Sentinel的高可用Redis集群

    使用Docker Compose部署基于Sentinel的高可用Redis集群 https://yq.aliyun.com/articles/57953 Docker系列之(五):使用Docker C ...

  2. Docker Compose 部署前后端分离应用

    部署前后端分离应用 容器化 Abp 应用 关于 Abp 应用的容器化,其实和普通的 ASP.NET Core 应用差不多,大家可以参考我此前的文章. 唯一需要注意的是:因为 Abp 解决方案中有多个项 ...

  3. Docker Compose部署项目到容器-基于Tomcat和mysql的项目yml配置文件代码

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  4. 在Windows Server 2019通过Docker Compose部署Asp.Net Core

    一.安装Docker Enterprise 安装文档是: https://docs.docker.com/install/windows/docker-ee/ 安装完成后,如下图 二.首先,拉取一个W ...

  5. 使用Docker Compose 部署Nexus后初次登录账号密码不正确,并且在nexus-data下没有admin,password

    场景 Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...

  6. Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程)

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  7. Docker Compose部署Nexus3时的docker-compose,yml代码

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  8. Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程)

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  9. 使用Docker Compose 部署Nexus后提示:Unable to create directory /nexus-data/instance

    场景 Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...

  10. Docker Compose 部署 Redis 及原理讲解 | 懒人屋

    原文:Docker Compose 部署 Redis 及原理讲解 | 懒人屋 Docker Compose 部署 Redis 及原理讲解  4.4k  字    16  分钟    2019-10-1 ...

随机推荐

  1. 【Win11】电脑开机内存占用过高

    联想拯救者 Y7000P 1.Win+R打开运行输入"MdSched"   重启 2.Windows PowerShell(管理员)->并运行该命令 Disable-MMAg ...

  2. 02题解-洛谷 P2395 BBCode转换Markdown 题解

    洛谷 P2395 BBCode转换Markdown 题解 题目传送门: here. 一道毒瘤的大模拟,给了你一部分的 BBCode 和 Markdown 语法,叫你转换.如下表: BBCode Mar ...

  3. IDEA Maven 项目报错 java: 程序包org.springframework.beans.factory.annotation不存在

    idea 刚把项目导进去的时候,点击运行,import的好多包都报红,所有的文件的Maven依赖包都没导入进去. 但只是第一个报错是: java: 程序包org.springframework.bea ...

  4. maven本地仓库有相应的依赖,依旧会从远程仓库拉取问题的原因及解决

    请打开你自己的本地仓库,对应依赖路径下的_remote.repositories文件.如果是从远程仓库拉取的,这里一般是显示这个: junit-4.12.jar>alimaven= junit- ...

  5. python,数据类型和变量,数据类型和变量,集合,字符串拼接

    可不可变: 可变:列表,字典 不可变:字符串,数字,元祖 访问顺序: 直接访问:数字 顺序访问:字符串,列表,元祖 映射:字典 存放元素个数 容器类型:列表,元祖,字典 原子:数字,字符串 集合 1. ...

  6. Spyglass CDC工具使用(二)

    最近一直在搞CDC (clock domain crossing) 方面的事情,现在就CDC的一些知识点进行总结. 做CDC检查使用的是Spyglass工具.以下内容转载自:Spyglass检查之CD ...

  7. Rust for Rustaceans: Idomatic Programming for Experienced Developers Chap.2 Types

    翻译的内容如果有不理解的地方或者是其他的差错,欢迎后台回复讨论. 类型在内存中的表示 Rust中的每一个值都有自己的类型(Type).在这一章中,我们将会看到Rust中的类型服务于许多不同的目的,但其 ...

  8. app工程目录结构

    一.APP工程目录结构 APP工程分为两个层次,第一个层次是项目(这里在eclipse中是指workspace),另一个层次是模块(这里在eclipse中是指project) 模块依附于项目,每个项目 ...

  9. 3---java中的集合

    集合是什么:表示一组元素的对象,有的是有序的,有的是无序的,有的是可重复的,有的是不可重复的. 首先根是:Collection 1:Set 没有重复元素  SortedSet 有序的Set 2:Lis ...

  10. Java-10接口与抽象类

    Java-10接口与抽象类 抽象方法 abstract method机制 这是一个不完整的方法,它只有一个声明,没有方法体 abstract void f(); 包含抽象方法的类被称为抽象类:如果一个 ...