我的docker随笔35:jenkins服务部署(代码片段)

李迟 李迟     2022-12-28     244

关键词:

本文涉及一种在容器中部署 jenkins 服务的方法,后续将其与 gitlab 配合以实现 CICD 功能。其目的是为了在实际工作中使用代码托管及自动化操作。

一、引言

因工作需要,需部署 jenkins 服务器进行测试。与网上几分钟即可部署的文章相比,本文更注重个人的实践记录。本文与前面的 gitlab 有一定的关联。

二、技术小结

  • gitlab 有官方的 Docker 镜像。本文直接使用之。
  • 使用 docker-compose 部署,指定端口。注意挂载 docker.socket文件。
  • 首次登录会提示输入随机文件,一旦输入并设置成功后,不再提示。
  • 各种配置慢慢补充。

三、部署gitlab服务

3.1 部署脚本

本文使用 docker-compose 部署,在测试阶段,使用了多个版本。此处是比较简单的版本,用于初次使用。

version: '2'
services:
    jenkins:
        image: jenkins/jenkins:centos7
        container_name: lljenkins
        restart: always
        volumes:
            # 使用主机的docker服务(因为要在jenkins容器中运行docker)
            - /var/run/docker.sock:/var/run/docker.sock
            # 使用数据盘的目录作为jenkins的工作目录
            - $PWD/jenkins_home:/var/jenkins_home
        ports:
            # 端口映射
            - "9999:8080"
            - "50000:50000"
        networks:
            - llgitlab-net

networks:
    llgitlab-net:
        driver: bridge

注意几点:

  • 脚本中指定了docker.sock的路径,后续可以在jenkins用docker构建。
  • jenkins 数据目录在本目录下的jenkins_home目录,其权限修改为1000,命令为sudo chown -R 1000 jenkins_home
  • 根据实际环境,选择了 centos7 版本的 jenkins。

3.2 运行

运行命令如下:

docker-compose up -d

注:jenkins 的启动比 gitlab 快很多。

停止命令如下:

docker-compose down

运行过程中会出现初始密码:

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

c4365f900e554ff5b8885d8c2975929b

This may also be found at: /var/jenkins_home/secrets/initialAdminPassword

*************************************************************

四、初次配置

服务启动后,需要进行必要的配置,因此在本文一并给出。

4.1 登录

初次登录时,会提示输入管理员密码,如图1所示:

在 docker 启动时出现有密码,也可以直接在页面所示文件中找到。

4.2 安装插件:

选右侧自定义安装,注:默认也勾选了部分插件。

安装过程图示:

注:笔者在实践中,遇到不可抗拒因素,导致网络不稳定,经常安装不成功,如果尝试多次失败,可以跳过不安装。

五、一些配置

5.1 git 仓库地址问题

配置了项目,构建,提示:

stderr: error: RPC failed; result=22, HTTP code = 404

原因及解决:

在设置项目git地址时,必须添加`.git`后缀,否则地址不认。

5.2 Publish over SSH

更多配置,待使用过程中积累并更新。

我的docker随笔37:使用gitlab和jenkins实现cicd(代码片段)

本文涉及一种利用容器部署gitlab和jenkins服务实现持续集成(CICD)的方法,其目的是为了在实际工作中使用代码托管及自动化操作。一、引言因工作需要,需部署gitlab和jenkins服务器进行CICD测试,换个高大上的... 查看详情

我的docker随笔37:使用gitlab和jenkins实现cicd(代码片段)

本文涉及一种利用容器部署gitlab和jenkins服务实现持续集成(CICD)的方法,其目的是为了在实际工作中使用代码托管及自动化操作。一、引言因工作需要,需部署gitlab和jenkins服务器进行CICD测试,换个高大上的... 查看详情

我的docker随笔34:gitlab服务部署(代码片段)

本文涉及一种在容器中部署gitlab服务的方法,并结合其自带的gitlab-runner实现CICD功能。其目的是为了在实际工作中使用代码托管及自动化操作。一、引言因工作需要,需部署gitlab服务器进行数据测试。与网上几分钟即可部... 查看详情

我的docker随笔36:定制jenkins镜像(代码片段)

本文涉及一种根据实际需求定制jenkins镜像的方法及实践。其目的是在官方镜像基础上添加自定义软件、库,以便更加适应项目的开发情况。一、引言官方镜像基本能实现了常见的持续集成功能,但还有一些不符合要求... 查看详情

jenkins+git实现docker持续部署

...现在的情况来说吧,(1)、每次开发完成,我都会push到我的远程仓库;(2)、我再将我push到远程仓库的代码pull到我的测试服务器上;(3)、在测试服务器上,我要重启下我的项目;(4)、我再执行我的shell的测试脚本将代码... 查看详情

我的docker随笔34:gitlab服务部署(代码片段)

本文涉及一种在容器中部署gitlab服务的方法,并结合其自带的gitlab-runner实现CICD功能。其目的是为了在实际工作中使用代码托管及自动化操作。一、引言因工作需要,需部署gitlab服务器进行数据测试。与网上几分钟即可部... 查看详情

docker_快速部署jenkins

开门见山,如何在利用docker快速部署jenkins服务?下面详解1:docker的基本按照与部署,前文已经详述,这里不多说。2:pull一个jenkins镜像dockerpulljenkins3:查看已经安装的jenkins镜像dockerimages4:创建一个jenkins目录 mkdir/home/jenkins_ho... 查看详情

使用docker部署jenkins

由于Docker的普及,刚好目前团队需要Jenkins自动发布环境,于是决定把使用Docker来运行Jenkins服务。环境:Centos7安装Docker:systemctl install docker运行Dockersystemctl start docker拉镜像:docker pull docker.io/jenkinsci/j 查看详情

我的docker随笔36:定制jenkins镜像(代码片段)

本文涉及一种根据实际需求定制jenkins镜像的方法及实践。其目的是在官方镜像基础上添加自定义软件、库,以便更加适应项目的开发情况。一、引言官方镜像基本能实现了常见的持续集成功能,但还有一些不符合要求... 查看详情

我的docker随笔38:用registry搭建私有仓库(代码片段)

本文涉及一种在服务器部使用registry署私有镜像仓库的方法。经验证,可达到预期目标,并能应用在实际工作中。一、引言由于测试服务器无法使用外部网络,而又需要容器化部署应用程序。经考虑,使用registry搭... 查看详情

我的docker随笔38:用registry搭建私有仓库(代码片段)

本文涉及一种在服务器部使用registry署私有镜像仓库的方法。经验证,可达到预期目标,并能应用在实际工作中。一、引言由于测试服务器无法使用外部网络,而又需要容器化部署应用程序。经考虑,使用registry搭... 查看详情

Jenkins:使用 docker compose 部署到 AWS ECS

...解。我有Jenkins实例、ESC集群和docker-compose配置文件来组合我的图像并链接容器。在gitpush之后,我的Jenkins实例从所有repos(webapp、api、lb)中获取所有源并进 查看详情

dockercompose安装部署jenkins

流水线可以让项目发布流程更加清晰,docker可以大大减少Jenkins配置。本篇讲解通过DockerCompose部署Jenkins服务。流水线可以让项目发布流程更加清晰,docker可以大大减少Jenkins配置。本篇讲解通过DockerCompose部署Jenkins服务。 查看详情

jenkins管道部署容器化初探(代码片段)

目标服务器安装docker参考官方文档https://docs.docker.com/install/linux/docker-ce/centos/(可选)在目标服务器上安装docker私服https://docs.docker.com/registry/目标服务器启动jenkinsdocker镜像容器https://hub.docker.com/r/jenkinsci/blueocean/创建d 查看详情

docker+jenkins持续集成

前面我们已经通过jenkins+docker搭建了基本的持续集成环境,实现了服务的自动构建和部署,但是,我们遇到一个问题,jenkins构建出来的镜像部署后,需要通过ip:port去访问,有什么更好的方法吗?肯定是通过域名啊!前提是你注... 查看详情

jenkins+docker+springcloud微服务持续集成(下)(代码片段)

Jenkins+Docker+SpringCloud微服务持续集成(下)Jenkins+Docker+SpringCloud部署方案优化Jenkins+Docker+SpringCloud集群部署流程说明修改所有微服务配置修改注册中心的配置其他微服务配置设计Jenkins集群项目的构建参数J... 查看详情

使用jenkins+docker自动化部署springboot微服务详尽操作流程(代码片段)

前言 之前写过一遍比较粗略的jenkins+docker部署文章,这次有时间,认真的写一遍比较详细完整的jenkins+docker部署文章,由于有时间所以这次就多写一点吧,记录下我自己对docker的看法,以及它的作用࿰... 查看详情

快速部署docker-ce心得

Docker-cedocker有多种安装和部署方法,对于不同的需要,做相应的部署!本文是基于CICD来快速部署的,是基于jenkins自动部署打包来安装docker-ce,从而构建一个Maven项目(本文不提供jenkins部署流程) 实验环境:三台CentOS分别做... 查看详情