环境:

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. XML与HTML的主要区别

    XML 与 HTML 的主要差异 XML 不是 HTML 的替代. XML 和 HTML 为不同的目的而设计: XML 被设计为传输和存储数据,其焦点是数据的内容. HTML 被设计用来显示数据,其焦 ...

  2. 【OpenHarmony移植案例与原理】XTS子系统之应用兼容性测试用例开发

    摘要:本文主要介绍ACTS应用兼容性测试用例开发编译. 本文分享自华为云社区<移植案例与原理 - XTS子系统之应用兼容性测试用例开发>,作者: zhushy . XTS(X Test S ...

  3. Monkey的参数及简单使用

    什么是Monkey? Monkey是Android SDK提供的一个命令行工具,可以简单方便的发送伪随机的用户事件流,对Android APP做压力(稳定性)测试.主要是为了测试app是否存在无响应和 ...

  4. MySQL SQL Injection Cheat Sheet

    MySQL SQL Injection Cheat Sheet Some useful syntax reminders for SQL Injection into MySQL databases- ...

  5. Spring Boot 多模块项目创建与配置 (转)

    转载:https://www.cnblogs.com/MaxElephant/p/8205234.html 最近在负责的是一个比较复杂项目,模块很多,代码中的二级模块就有9个,部分二级模块下面还分了多 ...

  6. C++各种输入

    https://blog.csdn.net/qq_29735775/article/details/81165882 1.cin 2.cin.get() 3.cin.getline() 4.getli ...

  7. iHTML 的 form 提交之前如何验证数值文本框的内容全部为数字

    <input type="text" id="d1" onblur=" chkNumber (this)"/> <scri ...

  8. Spring 框架的事务管理有哪些优点?

    它为不同的事务 API 如 JTA,JDBC,Hibernate,JPA 和 JDO,提供 一个不变的编程模式. 它为编程式事务管理提供了一套简单的 API 而不是一些复杂的事务 API 它支持声明式 ...

  9. BUG战斗史 —— 日期格式与字符串之间的转换

    说在前面 最近在公司实习,接触了一个中小型的后台管理系统,不得不说,项目的目录结构比我平时做的"课程设计"要来得复杂,于是我先去看了Github上一些后台管理系统的模板项目 在gu ...

  10. ACM - 动态规划 - UVA323 Jury Compromise

    UVA323 Jury Compromise 题解 考虑用动态规划.该问题要求解的最终状态为,选出的 \(m\) 个人,使得辩方总分与控方总分差的绝对值最小,总分之和最大.即 \(\left| D(\ ...