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. C语言指针--二级指针

    文章目录 前言 一.什么是二级指针 二.二级指针的使用 1.二级指针的定义 2.二级指针的赋值 3.二级指针的使用 3.1 用二级指针输出一级指针的地址 3.2 用二级指针输出一级指针中的内容 3.3 ...

  2. 公网环境部署zabbix5.0

    实验环境 虚拟机两台,一台公网地址为 1.1.1.1,部署 zabbix server,一台公网地址为 1.1.1.2,部署 zabbix proxy,系统为centos7.2. 1 zabbix s ...

  3. 在langchain中使用带简短知识内容的prompt template

    简介 langchain中有个比较有意思的prompt template叫做FewShotPromptTemplate. 他是这句话的简写:"Prompt template that con ...

  4. #Powerbi 1分钟学会利用AI,为powerbi报表进行高端颜色设计

    在BI报表的设计中,配色方案往往成为一大难题,一组切合主题.搭配合理的颜色设计往往能为我们的报表,加分不少. 今天,就介绍一个AI配色的网站,利用AI为pbi报表进行配色设计. 一:网站网址 http ...

  5. Cilium系列-9-主机路由切换为基于 BPF 的模式

    系列文章 Cilium 系列文章 前言 将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能. 但是通过对 Cilium 不同模式的切换/功能的启用, ...

  6. burp抓包iPhone手机

    https://blog.csdn.net/weixin_43965597/article/details/107864200

  7. [oracle]用户与权限管理

    创建用户 CREATE USER 用户名 IDENTIFIED BY 密码 DEFAULT TABLESPACE 表空间 TEMPORARY TABLESPACE 临时表空间 QUOTA 空间配额大小 ...

  8. shell分析nginx日志的一些指令

    前言 nginx日志格式默认 shell指令 查看有多少个IP访问: awk '{print $1}' log_file|sort|uniq|wc -l 查看某一个页面被访问的次数: grep &qu ...

  9. C#程序随系统启动例子 - 开源研究系列文章

    今天讲讲C#中应用程序随系统启动的例子. 我们知道,应用程序随系统启动,都是直接在操作系统注册表中写入程序的启动参数,这样操作系统在启动的时候就根据启动参数来启动应用程序,而我们要做的就是将程序启动参 ...

  10. C++函数参数匹配规则

    C++ 函数参数匹配 1 单个参数匹配 void f(); //f1 void f(int); //f2 void f(int, int); //f3 void f(double, double=3. ...