Gitlab集成jenkins及docker自动化部署教程

能实现提交代码到gitlab后,我们只需要合并代码到指定分支就可以上Jenkins自动拉取最新代码并重新构建部署

1、登录Jenkins点击如下加号新增视图

2、gitlab配置Jenkins成员,供Jenkins使用

3、Jenkins配置选择如下选项

代码如下:

REPOSITORY=192.168.1.240:5000/project_name/service_name:test1

cat > Dockerfile << EOF

#基础镜像,如果本地没有,会从远程仓库拉取。

FROM openjdk:8

#声明了容器应该打开的端口并没有实际上将它打开

EXPOSE 10011

# 将jar包添加到容器中并更名为app.jar

ADD target/service_name-2.0.0-SNAPSHOT.jar app.jar

#指定容器启动时要执行的命令,但如果存在CMD指令,CMD中的参数会被附加到ENTRYPOINT指令的后面

ENTRYPOINT ["java","-Xms512m","-Xmx1024m","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar", "--spring.profiles.active=test1"]

EOF

# 构建镜像

docker build -t $REPOSITORY .

docker login -u admin -p 123456 192.168.1.240:5000

# 上传镜像

docker push $REPOSITORY

Docker环境部署代码如下:

REPOSITORY=192.168.1.240:5000/project_name/service_name:test1

docker login -u admin -p 123456 192.168.1.240:5000

docker pull $REPOSITORY

docker rmi $(docker images | grep "none" | awk '{print $3}')

mkdir -p /usr/local/docker/project_name/service_name

cd /usr/local/docker/project_name/service_name

cat > docker-compose.yml<< EOF

version: "3.7"

services:

  kxkd-push-service:

    image: $REPOSITORY

    restart: always

    container_name: service_name

    logging:

      driver: "json-file"

      options:

        max-size: "1G"

    environment:

      - TZ=Asia/Shanghai

    ports:

      - "10011:10011"

    volumes:

      - "/usr/local/docker/project_name/service_name/logs:/logs"

      - "/usr/local/docker/project_name/service_name/sensors:/usr/local/docker/kxkd"

      - "/usr/local/docker/project_name/service_name/fonts:/usr/local/openjdk-8/jre/lib/fonts"

EOF

docker-compose down

docker-compose up -d

4、配置gitlab环境

5、上面就已经配置完成了,接下来可以测试自动部署环境

Gitlab集成jenkins及docker自动化部署教程的更多相关文章

  1. 自动化部署教程(一) redhat安装jenkins

    自动化部署教程(一)  redhat安装jenkins 源配置: sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.or ...

  2. 微服务项目的docker自动化部署流程

    目录 微服务的Docker自动化部署 制作JDK1.8的Docker镜像 Docker常用命令介绍 制作image的一般流程 将本地的image上传至私人仓库 使用Maven插件实现自动化docker ...

  3. docker自动化部署前端项目实战一

    docker自动化部署前端项目实战一 本文适用于个人项目,如博客.静态文档,不涉及后台数据交互,以部署文档为例. 思路 利用服务器node脚本,监听github仓库webhook push事件触发po ...

  4. Windows+.Net Framework+svn+IIS在Jenkins上的自动化部署入门

    关于Jenkins的使用及安装,上一篇文章我已经介绍过了,Windows+.NetCore+git+IIS在Jenkins上的自动化部署入门.这篇主要是在jenkins如何安装SVN和MSBuild. ...

  5. Linux文档整理之【Jenkins+Docker自动化部署.Net Core】

    这次整理的文档是Jenkins+Docker实现自动化部署,很早之前就写的,今天有时间就搬到博客园做个记录. Jenkins是基于Java开发的一种持续集成工具,主要用于持续.自动的构建/测试软件等相 ...

  6. Gogs+Jenkins+Docker 自动化部署.NetCore

    环境说明 腾讯云轻量服务器, 配置 1c 2g 6mb ,系统是 ubuntu 20.14,Docker 和 Jenkins 都在这台服务器上面, 群晖218+一台,Gogs 在这台服务器上. Doc ...

  7. Windows版Jenkins+SVN+Maven自动化部署环境搭建【转】

    前言 因今年公司新产品线较多,为了降低耦合,达到业务分离.重用,提高内部开发效率的目的,采用了基于服务组件.前后端分离的架构体系.与之前传统单应用架构相比,系统部署.配置更加复杂,为了能够频繁地将软件 ...

  8. 使用 GitHub / GitLab 的 Webhooks 进行网站自动化部署

    老早就想写这个话题了,今天正好有机会研究了一下 git 的自动化部署.最终做到的效果就是,每当有新的 commit push 到 master 分支的时候,就自动在测试/生产服务器上进行 git pu ...

  9. 品尝阿里云容器服务:初步尝试ASP.NET Core Web API站点的Docker自动化部署

    部署场景是这样的,我们基于 ASP.NET Core 2.0 Preview 1 开发了一个用于管理缓存的 Web API ,想通过阿里云容器服务基于 Docker 部署为内网服务. 在这篇博文中分享 ...

  10. CI/CD之Gitlab集成Jenkins多分支pipeline实现质量检测和自动发布

    本次实施主要实现: 代码提交gitlab,自动触发Jenkins构建 gitlab发起Merge Request, 需要Jenkins检查通过才可以merge,实现代码review和质量管控 gitl ...

随机推荐

  1. OlllyDbg调试器和IDA调试器

    OllyDbg调试器 OllyDbg称为Ring3级的首选工具.可以识别数千个被和Windows频繁使用的函数,并能将其注释出来.它会自动分析函数过程.循环语句等 OllyDbg主界面 快捷键 Add ...

  2. Mybatis(生命周期 )

    生命周期和作用域 生命周期和作用域,是至关重要的,因为错误的使用导致非常严重并发问题 对象声明周期和依赖注入框架 依赖注入框架可以创建线程安全的,基于事务的SqlSession和映射器,并将它们直接注 ...

  3. 分布式数据库oceanBase部署

    分布式数据库oceanBase部署 相关链接 文档中心 视频中心 软件下载 OceanBase数据库基本操作 OceanBase简介 SQL执行计划 基本概念 为了更好地管理 OceanBase 数据 ...

  4. openpyxl 统一表格样式

    # 统一表格样式 rows = ws.max_row columns = ws.max_column # print(rows) # print(columns) for row in range(1 ...

  5. 《VTK图形图像开发进阶》第1-2章——一个稍微复杂的VTK程序

    VTK概览 数据可视化主要是通过计算机图形学的方法,以图形.图像等形式清晰有效地传递.表达信息,VTK是数据可视化的工具包. VTK全称(Visualization Toolkit),即可视化工具包, ...

  6. Nginx快速入门:简介、安装、配置

    Nginx概述 与 Apache 软件类似,Nginx ("engine x")是一个开源的.支持高性能.高并发的web服务和代理服务软件.它是由俄罗斯人 Igor Sysoev ...

  7. [loki]轻量级日志聚合系统loki快速入门

    前言 简述:loki是由grafana开源的日志聚合系统,相较于ELK.EFK更轻量. loki特性: 不对日志进行全文索引.通过存储压缩非结构化日志和仅索引元数据,Loki 操作起来会更简单,更省成 ...

  8. go-zero 是如何做路由管理的?

    原文链接: go-zero 是如何做路由管理的? go-zero 是一个微服务框架,包含了 web 和 rpc 两大部分. 而对于 web 框架来说,路由管理是必不可少的一部分,那么本文就来探讨一下 ...

  9. Python 潮流周刊#15:如何分析 FastAPI 异步请求的性能?

    你好,我是猫哥.这里每周分享优质的 Python.AI 及通用技术内容,大部分为英文.标题取自其中一则分享,不代表全部内容都是该主题,特此声明. 本周刊精心筛选国内外的 250+ 信息源,为你挑选最值 ...

  10. SQL - 5

    Smiling & Weeping ----我本不想和风讨论你,可风说可以替我去见你 第五章:SQL高级处理 5.1 窗口函数 5.1.1 窗口函数概念及基本的使用方法 窗口函数也称为OLAP ...