环境:

Jenkins:172.16.88.221 (安装Jenkins和git命令)

gitlab:172.16.88.221 (安装gitlab)

远程部署机器:172.16.88.220 (安装nginx测试用)

1、安装插件

#打开jenkins页面

#添加插件:系统管理 - 插件管理

#需要添加的插件:Gitlab Hook、Build Authorization Token Root、Publish Over SSH、Gitlab Authentication、Gitlab、Git Parameter

#添加完插件重启jenkins,开始添加要部署代码的主机,注意一定是要能够ssh登陆的用户。

#添加主机:系统管理 - 系统设置 找到Publish over SSH,配置远程部署的服务器。

下面的是远程服务器的ip

把Jenkins的公钥添加到远程服务的/root/.ssh/authorized_keys里面。

2、新建一个自由风格项目

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

3、打包方式

打包方式1:使用http方式打包

选择了之后如果账号密码正确和链接正确的话,红色的提示语会消失的,默认打包的是master分支。

打包方式2:ssh方式

使用ssh方式打包添加用户方式:

4、测试打包:

复制这个路径去服务器上面可以看到打包下来的文件:

[root@node2 test]# ll /data/jenkins/workspace/test 总用量 8 -rw-r--r-- 1 root root 10 8月 20 11:13 index.html drwxr-xr-x 2 root root 4096 8月 20 11:15 tdir

5、打包之后远程传输方式

我Git代码目录结构是这样的:

需求:

1. 只远程传输tdir目录、index.html和tmp下的文件

2. 不需要传输target目录, 不传输tmp目录下的tmp1.txt文件。

方式1:打包完之后通过构建环境方式部署

即:运行构建后通过SSH发送文件或执行命令

目前远程服务器220上面部署目录什么都没有:

保存构建:确认日志有没报错

构建之后:

方式2:通过执行本地脚本或者命令去部署

如使用下面的功能也是可以实现上面的需求的:

rsync -av ./ --exclude=target/ --exclude=tmp/tmp1.txt root@172.16.88.220:/usr/share/nginx/html

./ :默认是打包之后的项目工作目录

我上面拉去的是简单的文件代码,所以直接复制导前端目录即可。

如果是Java或者其他的代码可以写一个脚本去执行。

Jenkins+gitlab手动部署的更多相关文章

  1. jenkins+Gitlab+maven+tomcat实现自动集成、打包、部署

    一.前言 首先出于提高自己技术水平和琢磨能做点什么能提高工作效率,上线工作实在无聊.重复(手动编译.打包,传包,重启),于是就想到了jenkins,jenkins持续集成已经不是什么新鲜的话题,网上文 ...

  2. 解放双手 | Jenkins + gitlab + maven 自动打包部署项目

    前言 记录 Jenkins + gitlab + maven 自动打包部署后端项目详细过程! 需求背景 不会偷懒的程序员不是好码农,传统的项目部署,有时候采用本地手动打包,再通过ssh传到服务器部署运 ...

  3. .Net Core自动化部署系列(一):Jenkins + GitLab

    项目进行微服化改造后系统发布就变得愈为重要,因为持续集成导致部署变得越来越频繁,人工部署带来的一些问题日渐凸显,大家可能都有被系统部署线问题困扰过的经历. 本篇我们将会使用Jenkins+Gitlab ...

  4. Jenkins+Gitlab配置Webhook实现提交自动部署

    一.概述 在上一篇文章,链接如下: https://www.cnblogs.com/xiao987334176/p/11434849.html 已经实现了 Jenkins+harbor+gitlab+ ...

  5. gitlab与jenkins的自动化部署(通过webhook与ansilble)

    gitlab与jenkins的自动化部署(通过webhook与ansilble) 1.部署介绍 gitlab服务器:192.168.1.49:80jenkins服务器:192.168.1.49:818 ...

  6. Gitlab+Jenkins实现自动部署

    Gitlab+Jenkins实现自动部署   系统环境: Gitlab主机 IP:192.168.1.2 Jenkins主机 IP:192.168.1.3 一.为何要做自动部署 #部署Tomcat的在 ...

  7. 【Devops】【docker】【CI/CD】3.Jenkins+GitLab+docker+springboot 实现自动化部署

    ==================================================================================================== ...

  8. 【开发工具】Jenkins+Gitlab实现自动化部署

    我在尝试在容器中安装Jenkins时,初衷是希望使用docker in docker 的模式来实现Jenkins slave容器按需创建.在实现的时候需要在Jenkins 中安装Kubernetes插 ...

  9. Jenkins+Gitlab+Ansible自动化部署(五)

    Freestyle Job实现静态网站部署交付(接Jenkins+Gitlab+Ansible自动化部署(四)https://www.cnblogs.com/zd520pyx1314/p/102445 ...

随机推荐

  1. 05tensorflow分布式会话

    一. tensorflow分布式 1.     概念 分布式Tensorflow是由高性能的gRPC框架作为底层技术来支持的.这是一个通信框架gRPC(google remote procedure ...

  2. ActiveMQ-模块代码-02

    模块模式 p2p模式 生产者 ConfigBeanQueue package com.producerp2p.producerp2p; import org.apache.activemq.comma ...

  3. 网络IO模型 非阻塞IO模型

    网络IO模型 非阻塞IO模型 同步 一件事做完后再做另一件事情 异步 同时做多件事情 相对论 多线程 多进程 协程 异步的程序 宏观角度:异步 并发聊天 阻塞IO 阻塞IO的问题 一旦阻塞就不能做其他 ...

  4. FOC实现概述

    FOC原理框图如下: 其中涉及到两种坐标转换: 1. Clark变换:常规的三相坐标系→静止的二相坐标系α.β 正变换矩阵 $\left[ {\begin{array}{*{20}{c}}{\sqrt ...

  5. HTTP1.0和HTTP1.1和HTTP2.0的区别

    1 HTTP1.0和HTTP1.1的区别1.1 长连接(Persistent Connection)       HTTP1.1支持长连接和请求的流水线处理,在一个TCP连接上可以传送多个HTTP请求 ...

  6. python 列表推导式,生成器推导式,集合推导式,字典推导式简介

    1.列表推导式multiples = [i for i in range(30) if i % 2 is 0]names = [[],[]]multiples = [name for lst in n ...

  7. jQuery--表单的过滤

    1.表单过滤器的介绍 :input 所有表单元素(<input>/<select>/<textarea>/<button>) :text 文本框< ...

  8. Mac SVN Cornerstone 安装使用详解

    Cornerstone 是收费软键,这里提供一个破解版 ,安装后需要输入安装密码:www.ifunmac.com 链接:https://pan.baidu.com/s/1LqY2s8vEJAQ9JJh ...

  9. java-jsp-learnning

    简介:JSP(全称Java Server Pages) 一种动态网页开发技术.它使用JSP标签在HTML网页中插入Java代码.标签通常以<%开头以%>结束. JSP是一种Java ser ...

  10. Javascript Promises学习

    Promise对象的三个状态 pending(进行中) fulfilled(已成功) rejected(已失败) Promise代表一个异步操作,对象的状态一旦改变,就不会再改变 Promise构造函 ...