Gitlab+Jenkins实现自动部署

 

系统环境:

  • Gitlab主机

    • IP:192.168.1.2
  • Jenkins主机
    • IP:192.168.1.3

一、为何要做自动部署

#部署Tomcat的在这里:http://blog.51cto.com/bigboss/2155423


二、配置Gitlab


#首先,你得有一个代码仓库,赶紧到gitlab上创建一个,然后创建个分支并创建一个文件。




#其次,你得配置一个ssh公钥到gitlab上,这样才能模拟开发上传代码到gitlab。
#至于ssh公钥私钥怎么生成,自己百度去。



#克隆代码仓库,然后测试是否能够上传代码到gitlab git clone git@192.168.1.2:root/test.git
cd test/
echo 11111 > 1.txt
git add .
git commit -m "add 1.txt"
git push


三、配置Jenkins

#打开jenkins页面
#添加插件:系统管理 - 插件管理
#需要添加的插件:Gitlab Hook、Build Authorization Token Root、Publish Over SSH、Gitlab Authentication、Gitlab、Git Parameter #添加完插件重启jenkins,开始添加要部署代码的主机,注意一定是要能够ssh登陆的用户。
#添加主机:系统管理 - 系统设置 找到Publish over SSH


#添加完主机之后,新建一个项目,开始配置构建操作








#配置gitlab,当有代码提交时,触发jenkins的部署操作





四、测试提交代码是否会部署到远程主机


#再次克隆仓库 git clone git@192.168.1.2:root/test.git
cd test/
echo '测试Jenkins' > index.html
git add .
git commit -m 'add index.html'
git push #提交之后去jenkins页面看看






小坑:

  • 错误提示:

    #很多朋友使用最新版本的gitlab做自动部署时,在增加web钩子那一步,
    #点击test push events时会报错:Url is blocked: Requests to the local network are not allowed

  • 解决方法:
    #这是因为新版的gitlab为了安全默认禁止了本地局域网地址调用web hook
    #我们在设置里允许就行,具体步骤如下:


 
 

Gitlab+Jenkins实现自动部署的更多相关文章

  1. .Net Core自动化部署系列(三):使用GitLab CI/CD 自动部署Api到Docker

    之前写过使用Jenkins实现自动化部署,最近正好没事研究了下GitLab的自动化部署,顺便记录一下. 使用GitLab部署我们需要准备两件事,第一个起码你得有个GitLab,自己搭建或者使用官方的都 ...

  2. Jenkins之自动部署、代码安全扫描、自动化接口测试

    搭建Jenkins wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.reporpm --i ...

  3. Jenkins代码自动部署相关文档

    环境 centos 7.0+ Java JDK 1.8+ jenkins 2.220 maven 3.0+ git 1.8+ 注意事项 一. linux 安装 JDK (jdk-8u201-linux ...

  4. 使用jenkins 插件自动部署项目至tomcat

    前面使用maven.ant编译项目就不说,只说一下使用jenkins的插件自动部署项目 1.首先jenkins安装插件Deploy to container Plugin ,下载地址为:https:/ ...

  5. gitlab之gitlab-runner自动部署(二)

    转载自:https://blog.csdn.net/hxpjava1/article/details/78514999 简介 gitlab-ci全称是gitlab continuous integra ...

  6. gitlab之gitlab-ci自动部署

    简介 gitlab-ci全称是gitlab continuous integration的意思,也就是持续集成.中心思想是当每一次push到gitlab的时候,都会触发一次脚本执行,然后脚本的内容包括 ...

  7. [后端]gitlab之gitlab-ci自动部署

    转发:https://www.jianshu.com/p/df433633816b 简介 gitlab-ci全称是gitlab continuous integration的意思,也就是持续集成.中心 ...

  8. springboot+Jenkins+docker-compose自动部署项目实践

    DevOps思想 一个开发.测试.运维的整个过程的思想. plan:需求.计划 code:编码 build:构建 test: 测试 release:发布版本 deploy:部署 operate:项目运 ...

  9. jenkins代码自动部署

    jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译.打包.分发部署.jenkins可以很好的支持各种语言(比如:java, ...

随机推荐

  1. hdoj:2061

    #include <iostream> #include <string> using namespace std; int main() { int n,k; double ...

  2. stl综合

    区别: List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]. Vector ...

  3. eclipse 查看变量或方法在什么地方被调用的快捷键和快速显示方法入参提示信息

    为了用eclipse写代码的时候,不用方向键移动光标,可以设置如下快捷键, Line Up:Alt+i   光标向上 Line Down:Alt+k 光标向下 Line Start:Alt+u  移到 ...

  4. 最新最全的Java面试题整理(内附答案)

    Java基础知识篇 面向对象和面向过程的区别 面向过程: 优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机.嵌入式开发.Linux/Unix等一般采用面向过程开发, ...

  5. k8s(5)-拓展服务

    在之前我们创建了一个部署,然后通过服务公开它.部署只创建了一个Pod来运行我们的应用程序.当流量增加时,我们需要扩展应用程序以满足用户需求. 通过更改部署中的副本数来完成扩展. 1. 拓展部署 这里将 ...

  6. JavaCC从入门到出门

    一.JavaCC JavaCC是java的compiler compiler.JavaCC是LL解析器生成器,可处理的语法范围比较狭窄,但支持无限长的token超前扫描. 安装过程: 我是从githu ...

  7. 终端命令行编译运行C#程序HelloWorld

    终端命令行编译运行C#程序HelloWorld 今天忽然有人问我,刚学习java程序的时候,一般老师都会建议我们从配置环境变量开始从命令行编译运行程序,那么学习c#的时候基本是直接安装visual s ...

  8. centos 7 rpm方式安装mysql

    一.下载rpm 二.安装 1.用rz上传到centos上,目录为/home/upload 2.解压 tar -xvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar ...

  9. npm install 错误 安装 chromedriver 失败的解决办法

    npm 安装 chromedriver 失败的解决办法npm 安装 chromedriver 时,偶尔会出错,错误提示类似于:npm ERR! chromedriver@2.35.0 install: ...

  10. python数据库操作

    python操作数据库应该比java更简单些,连接数据库需要有驱动,pcat就推荐自己遇到的3个模块:mysql.connector.sqlalchemy.MySQLdb