gitlab持续集成,自动部署
yum install gitlab-ce
vi /etc/gitlab/gitlab.rb
#修改gitlab的访问ip和端口,ip用本机
external_url 'http://192.168.3.166:8099'
#重启gitlab
gitlab-ctl reconfigure
sudo wget -O/usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
sudo chmod +x /usr/local/bin/gitlab-runner
useradd --comment 'GitLab Runner'--create-home gitlab-runner --shell /bin/bash
gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
gitlab-runner start
sudo gitlab-runner register
Please enter the gitlab-ci coordinator URL(e.g. https://gitlab.com )
https://192.168.3.166:8099(输入上图的url)
Please enter the gitlab-ci token forthis runner
xxx(输入上图的token)
Please enter the gitlab-ci description forthis runner
[hostame] my-runner
Please enter the gitlab-ci tags forthisrunner(comma separated):
my-tag,another-tag
Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
shell
stages:
- build
build:
stage: build
script:
#mvn 打包
- mvn clean package-Dmaven.test.skip=true
#将war包拷贝到另外一台服务器
- scp /home/gitlab-runner/builds/f0e79179/0/root/demo/target/demo-0.0.1-SNAPSHOT.war root@192.168.3.167:/data/www/demo-0.0.1-SNAPSHOT.war
#连接tomcat的服务器,执行deploy.sh,将war包拷贝到webapps下面,重启tomcat
- ssh root@192.168.3.167"sh /apps/shell/deploy.sh"
only:
- test
- master
#!/bin/bash
#defined
exportJAVA_HOME="/usr/local/jdk1.8.0_231/"
exportTOMCAT_HOME="/apps/apache-tomcat-8.5.43/"
PID=`ps -ef | grep java | grep apache-tomcat-8.5.43 | awk '{print $2}'`
echo $PID
echo "kill tomcat"
kill -9 $PID
echo "remover jarfile"
cd "$TOMCAT_HOME"/webapps
rm -rf demo*
echo "copy jar to tomcat webapp"
cp /data/www/demo*.war "$TOMCAT_HOME"/webapps/demo.war
cd "$TOMCAT_HOME"/bin
echo "start tomcat"
./startup.sh
1). 连接3.166
2). 切换到gitlab-runner用户
su gitlab-runner
3). 生成公私钥
ssh-keygen
4). 复制3.166的公钥到3.167
scp /home/gitlab-runner/.ssh/id_rsa.pub root@192.168.3.167:/home/id_rsa.pub
5). 连接3.167
6). 将公钥追加到keys后面
cat /home/id_rsa.pub >>~/.ssh/authorized_keys

gitlab持续集成,自动部署的更多相关文章
- CentOS 7 Gitlab+Jenkins持续集成+自动化部署
基于上次的环境<部署Gitlab+Jenkins持续集成环境> 来实现自动化部署 系统管理–>插件管理–>安装以下插件: Credentials Plugin(默认已经安装) ...
- 【iOS】Jenkins Gitlab持续集成打包平台搭建
Jenkins Gitlab持续集成打包平台搭建 SkySeraph July. 18th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点: ...
- Linux-GitLab+Jenkins持续集成+自动化部署
GitLab+Jenkins持续集成+自动化部署 什么是持续集成? (1)Continuous integration (CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个 ...
- ThoughtWorks开发持续集成及部署利器:Go
持续集成及部署利器:Go Go是一款先进的持续集成和发布管理系统,由ThoughtWorks开发.(不要和Google的编程语言Go混淆了!)其前身为Cruise,是ThoughtWorks在做咨 ...
- .NET Core 从 Github到 Nuget 持续集成、部署
一.前言 Nuget 作为一个.NET研发人员,我想你都不会陌生,他为我们提供非常方便的程序包管理,不管是版本,还是包的依赖都能轻松应对,可以说是我们的好助手.而 Nuget 除了官方nuget.or ...
- 03 持续集成和部署/基础设施 - DevOps之路
02 持续集成和部署/基础设施 - DevOps之路 文章Github地址,欢迎start:https://github.com/li-keli/DevOps-WiKi 服务的持续集成和部署这里有两套 ...
- vsts + XX云服务器构建netcore+docker持续集成交付部署
持续集成交付部署是什么意思,它给我们带来什么好处? 先贴一张图 持续集成(Continuous Integration) 持续集成强调开发人员提交了新代码之后,立刻进行构建.(单元)测试(这个要看情况 ...
- 持续集成①安装部署jenkins从git获取代码
持续集成①安装部署jenkins从git获取代码 一:持续集成的概念: 1.1:总体的概括 持续集成Continuous Integration 持续交付Continuous Delivery 持续部 ...
- 从零入门 Serverless | 教你 7 步快速构建 GitLab 持续集成环境
作者 | 存诚 阿里云弹性计算团队 本文整理自<Serverless 技术公开课>,"Serverless"公众号后台回复"入门",即可获取系列文章 ...
- Linux环境:持续集成环境部署系列
之前的博客介绍了Linux环境下持续集成环境部署的一些内容,这篇博客将其整理一下,算做一个index,方便自己和大家查阅... 1.linux下安装JDK Jenkins是一个java开源的持续集成工 ...
随机推荐
- CCF_ 201512-3_画图
直接模拟就行了,注意坐标系方向与平常数组不一样,填充操作用深搜和广搜都可以,这里用了广搜. #include<iostream> #include<cstdio> #inclu ...
- ELK:收集Docker容器日志
简介 之前写过一篇博客 ELK:日志收集分析平台,介绍了在Centos7系统上部署配置使用ELK的方法,随着容器化时代的到来,容器化部署成为一种很方便的部署方式,收集容器日志也成为刚需.本篇文档从 容 ...
- meta的作用
一.先明白几个概念 phys.width: device-width: 一般我们所指的宽度width即为phys.width,而device-width又称为css-width. 其中我们可以获取ph ...
- Java并发之Exchanger类
应用场景 如果两个线程在运行过程中需要交换彼此的信息,可以使用Exchanger这个类. Exchanger为线程交换信息提供了非常方便的途径,它可以作为两个线程交换对象的同步点,只有当每个线程都在进 ...
- CentOS 7 GNOME桌面系统 网络配置
问题概述:在学习Linux系统的过程中,在WORKSTATION 14 PRO上安装了CentOS 7 Linux虚拟机,安装过程一切正常,但在应用过程中无法连接网络: 具体问题:1. 通过 ip a ...
- Apache Tomcat Ajp-CVE-2020-1938漏洞复现
环境搭建: sudo docker pull duonghuuphuc/tomcat-8.5.32 sudo docker run -d -it -p 8080:8080 -p 8009:8009 ...
- golang 运算符
/* 算术运算符 : + - * / % ++ -- 关系运算符 : == != > < >= <= 逻辑运算符 : && || ! 赋值运算符 : = += ...
- docker-enter 安装
github : https://github.com/sequenceiq/docker-enter [root@localhost ~]# docker run --rm -v /usr/loca ...
- Day17-18前端学习之路——常用语句资料库
一.var 与 let 的区别 var: 可以先初始化再声明该变量; 可以根据需要多次声明相同名称的变量 var myName = 'Chris'; var myName = 'Bob'; let m ...
- Swift 枚举-从汇编角度看枚举内存结构
一.基本使用 先看枚举的几种使用(暂不要问,看看是否都能看懂,待会会逐一讲解) 1.操作一 简单使用 //第一种方式 enum Direction { case east case west case ...