环境:

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. LGP7704题解

    来一个特别暴力的做法. 首先,如果删掉 \(x\) 和 \(y\) 的效果一定和删掉 \(xy\) 的效果相同,且代价一定不大于后者. 于是我们只删除质数,题目就变成了寻找 \(i!(1 \leq i ...

  2. tensorflow 数值计算函数的更新

    数值计算函数的更新 tf.sub --> tf.subtract tf.mul --> tf.multiply tf.div --> tf.divide tf.mod --> ...

  3. Objects.equals有坑

    前言 最近review别人代码的时候,发现有个同事,在某个业务场景下,使用Objects.equals方法判断两个值相等时,返回了跟预期不一致的结果,引起了我的兴趣. 原本以为判断结果会返回true的 ...

  4. spring——依赖注入的三种方式

    1 构造器注入(与构造器有直接关系) 默认无参构造 3种构造方式:通过<contructor-arg>调用类中的构造器 下标 <bean id="userService&q ...

  5. Golang 常见设计模式之装饰模式

    想必只要是熟悉 Python 的同学对装饰模式一定不会陌生,这类 Python 从语法上原生支持的装饰器,大大提高了装饰模式在 Python 中的应用.尽管 Go 语言中装饰模式没有 Python 中 ...

  6. DDOS攻击应用

    0x01 环境 包含3台主机 attact 作为攻击方,使用Centos7.2,安装slowhttptest server 作为被攻击服务器,安装有apached windows,用于访问 serve ...

  7. 从字符串某位置开始的递增串(dfs)注意for循环中下标的错误

    #include <iostream> #include <string> using namespace std; char res[50];int tag=1; void ...

  8. Java中的软引用、弱引用、虚引用的适用场景以及释放机制

    Java的强引用,软引用,弱引用,虚引用及其使用场景   从 JDK1.2 版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期.这四种级别由高到低依次为:强引用.软引用.弱引 ...

  9. Hibernate实体的三种状态是什么?各有什么特点?

    瞬时态(Transient). 持久态(Persistent).脱管态(Detached).处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value ...

  10. 解释AOP?

    面向切面的编程,或AOP, 是一种编程技术,允许程序模块化横向切割关注点,或横切典型的责任划分,如日志和事务管理.