Gitlab集成jenkins及docker自动化部署教程
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自动化部署教程的更多相关文章
- 自动化部署教程(一) redhat安装jenkins
自动化部署教程(一) redhat安装jenkins 源配置: sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.or ...
- 微服务项目的docker自动化部署流程
目录 微服务的Docker自动化部署 制作JDK1.8的Docker镜像 Docker常用命令介绍 制作image的一般流程 将本地的image上传至私人仓库 使用Maven插件实现自动化docker ...
- docker自动化部署前端项目实战一
docker自动化部署前端项目实战一 本文适用于个人项目,如博客.静态文档,不涉及后台数据交互,以部署文档为例. 思路 利用服务器node脚本,监听github仓库webhook push事件触发po ...
- Windows+.Net Framework+svn+IIS在Jenkins上的自动化部署入门
关于Jenkins的使用及安装,上一篇文章我已经介绍过了,Windows+.NetCore+git+IIS在Jenkins上的自动化部署入门.这篇主要是在jenkins如何安装SVN和MSBuild. ...
- Linux文档整理之【Jenkins+Docker自动化部署.Net Core】
这次整理的文档是Jenkins+Docker实现自动化部署,很早之前就写的,今天有时间就搬到博客园做个记录. Jenkins是基于Java开发的一种持续集成工具,主要用于持续.自动的构建/测试软件等相 ...
- Gogs+Jenkins+Docker 自动化部署.NetCore
环境说明 腾讯云轻量服务器, 配置 1c 2g 6mb ,系统是 ubuntu 20.14,Docker 和 Jenkins 都在这台服务器上面, 群晖218+一台,Gogs 在这台服务器上. Doc ...
- Windows版Jenkins+SVN+Maven自动化部署环境搭建【转】
前言 因今年公司新产品线较多,为了降低耦合,达到业务分离.重用,提高内部开发效率的目的,采用了基于服务组件.前后端分离的架构体系.与之前传统单应用架构相比,系统部署.配置更加复杂,为了能够频繁地将软件 ...
- 使用 GitHub / GitLab 的 Webhooks 进行网站自动化部署
老早就想写这个话题了,今天正好有机会研究了一下 git 的自动化部署.最终做到的效果就是,每当有新的 commit push 到 master 分支的时候,就自动在测试/生产服务器上进行 git pu ...
- 品尝阿里云容器服务:初步尝试ASP.NET Core Web API站点的Docker自动化部署
部署场景是这样的,我们基于 ASP.NET Core 2.0 Preview 1 开发了一个用于管理缓存的 Web API ,想通过阿里云容器服务基于 Docker 部署为内网服务. 在这篇博文中分享 ...
- CI/CD之Gitlab集成Jenkins多分支pipeline实现质量检测和自动发布
本次实施主要实现: 代码提交gitlab,自动触发Jenkins构建 gitlab发起Merge Request, 需要Jenkins检查通过才可以merge,实现代码review和质量管控 gitl ...
随机推荐
- linux程序开机自动运行-未解决
愚认为,本质上就是把程序放在etc文件目录下,让系统开机时,把程序一起编译运行了.orz 首先可以写个shell脚本如下: #!/bin/bash # 定义需要按顺序启动的 Python 程序列表 P ...
- 我开源了团队内部基于SpringBoot Web快速开发的API脚手架v1.6.0更新
什么是 rest-api-spring-boot-starter rest-api-spring-boot-starter 适用于SpringBoot Web API 快速构建让开发人员快速构建统一规 ...
- Topic太多,RocketMQ炸了!
网上博客常说,kafka的topic数量过多会影响kafka,而RocketMQ不会受到topic数量影响. 但是,果真如此吗? 最近排查一个问题,发现RocketMQ稳定性同样受到topic数量影响 ...
- 青少年CTF-Web-帝国CMS1-3通关记录
0x01说明 本次进通过平台内题目进行,非真实环境. 帝国CMS01 首先下发题目链接 我们首先先找后台看看 后台地址为/e/admin/ 随后,经过dirsearch进行扫描,得到了一个www.zi ...
- 青少年CTF平台 Web签到
题目说明 Web一星简单题,Web签到. 直接启动环境,等待30秒左右访问题目链接. 做题过程 进入后,题目好像没有告诉我们什么有用的信息, F12,看遍了题目源码,也没有发现flag,正当我怀疑这个 ...
- 好用的css3特性-过渡和2D变换
css3中有很多非常好用的特性,今天来总结一下与动画相关,包括过渡.2D变换. 首先来介绍一下过渡,过渡是在进行变化的时候进行的一个缓冲,如果没有过渡,当变更了元素的位置.大小的数据时,会一瞬间完成变 ...
- 小议ml.NET机器学习与人机责任划分
最近,特斯拉宣布召回110万辆车,名义上是纠正单踏板不良习惯,背后原因可能是这些车辆的电子控制单元存在缺陷,可能导致刹车失灵(潮州等交通事故至今没有定论).这个事件引起了人们对于机器学习技术和人机责任 ...
- [kubernetes]二进制部署k8s集群
0. 前言 采用二进制部署三主三工作节点的k8s集群,工作节点和Master节点共用服务器,因此只用到了三台服务器.master采用haproxy + keepalive实现高可用.实际生产环境中,建 ...
- go接收alertmanager告警并发送钉钉
前言 功能:作为 alertmanager 的 webhook receiver,提取需要的数据转发到钉钉群机器人的webhook web框架:gin alertmanager版本:0.24 系统版本 ...
- JS自制极简日历Demo
这个日历界面不属于任何插件,纯粹用最基本的JS函数获取到每个位置对应的日期,然后再通过遍历拼接table表单的方式赋值到HTML里面进行展示,日历效果的显示,其中使用到的文件只需要一个Jquery的J ...