GitLab+Drone CI持续集成自动部署web项目

news2024/11/25 1:58:44

一、环境介绍

1.gitlab服务器

172.16.11.1 搭建参考:Gitlab教程

2.Drone服务器

172.16.11.2 搭建参考: 基于gitlab搭建Drone CI

3.web服务器

172.16.11.3 已配置好nginx相关web服务,这里nginx配置的web目录为/www/test
还有生成ssh key密钥即可,用于添加gitlab
在这里插入图片描述

ssh-keygen -t rsa

4.开发电脑

windows+ssh key 可参考:Windows下git和github的使用

二、gitlab设置

将 web服务器 和 开发者电脑windows 的ssh 公钥都添加到gitlab的ssh key中。
在这里插入图片描述
在这里插入图片描述
添加完成后,两者都可以git clone提取gitlab的代码,可自行测试。
在这里插入图片描述

在这里插入图片描述

三、Drone设置

相比Jenkins而言,不需要太多复杂的设置。全部通过.drone.yml文件来实现各种操作。
在编写.drone.yml前,还需要简单的设置几个选项。

1 .drone功能设置

Trusted 选项,一般在部署docker项目时需要打开,如果不打开,部署docker项目时,无法使用挂在功能,即volume。我这里ssh项目,不打开也行。
在这里插入图片描述
Secrets添加密码文件,用于ssh远程,因为.drone.yml文件中,规定不允许出现明文密码的,所以必须设置,设置需要调用的文件名称(password),以及密码内容(这里的密码是172.16.11.3 SSH远程登录的root密码)。
在这里插入图片描述

2.drone.yml文件测试

在项目目录下创建,.drone.yml,官方ssh测试内容为以下,服务器改为自己的web地址即可。

kind: pipeline
type: ssh
name: default
 
server:
  host: 172.16.11.3
  user: root
  password:
    from_secret: password
 
steps:
- name: greeting
  commands:
  - echo hello world

在这里插入图片描述

在这里插入图片描述
添加完成后,会自动同步至drone并构建,也可以在gitlab设置里面手动测试钩子推送。
在这里插入图片描述

推送成功后,有会200提示成功,点击钩子中的Edit,也可以进去查看细节View details。
在这里插入图片描述
回到drone页面,在Build选择,也可以看到构建成功。
在这里插入图片描述
点击进入,可以看到构建详细步骤
在这里插入图片描述
到这里测试成功。

四、开发电脑提交代码同步至web服务器

在开发电脑,编写测试文件index.html和.drone.yml文件。工作目录为/c/code
打开Git bash,在windows上,进入code目录后,右键在此处打开git bash即可。

1.编写.drone.yml文件

git clone git@172.16.11.1:gitlab-instance-234e6258/test.git

在这里插入图片描述

cd   test/
vim .drone.yml

在这里插入图片描述
.drone.yml内容为

kind: pipeline
type: ssh
name: default
 
server:
  host: 172.16.11.3
  user: root
  password:
    from_secret: password
 
steps:
- name: git code
  commands:
  - cd /www
  - git clone git@172.16.11.1:gitlab-instance-234e6258/test.git
  - echo "构建完成"

在这里插入图片描述

2.添加更新index.html测试文件

echo "drone test" > index.html
git add .
git commmit -m "update index.html"
git push 

在这里插入图片描述
ush后,在drone可以看到,已经有新的构建了。
在这里插入图片描述
在浏览器输入web地址访问,172.16.11.3,也显示成功。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/519969.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

编程的未来

从 ChatGPT 诞生至今,在程序员的圈子里,我们一直有两种讨论: 最开始所恐慌的:编程没有未来,ChatGPT 是不是要取代程序员。编程的方式前所未有地发生了变化。 现如今,GitHub Copilot Chat 可以让开发者们直…

算法修炼之练气篇——练气十八层

博主:命运之光 专栏:算法修炼之练气篇 前言:每天练习五道题,炼气篇大概会练习200道题左右,题目有C语言网上的题,也有洛谷上面的题,题目简单适合新手入门。(代码都是命运之光自己写的…

支付系统设计三:渠道网关设计02-客户端报文解析

文章目录 前言一、后台配置管理1.1 渠道配置1.1.1 渠道基本信息新增1.1.2 渠道交易类型配置1.1.3 渠道商户信息配置1.1.4 账户配置1.1.5 交易类型机构配置 1.2 渠道通讯配置1.2.1 内部渠道通讯1.2.1 外部渠道通讯 1.3 资源配置1.4 证书管理1.5 路由配置 二、运行时逻辑处理1. 控…

Fluent的视角设置

1 背景 针对不同设计方案在同一工况下的差异点进行细节分析,其中一个很重要的要求就是需要在同一视角下比较不同设计方案的差异性。设置视角并进行快速重用是很重要的提高仿真效率的方法。 2 视角设置 视角设置有2类方法:手动拖拉和定量指定。 手动拖拉即…

一图看懂 tomli 模块:一个 TOML解析器、使用 mformat -toc 生成的目录,资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 一图看懂 tomli 模块:一个 TOML解析器、使用 mformat -toc 生成的目录,资料整理笔记(大全) 🧊摘要🧊模块图&am…

前端开发中,定位bug的几种常用方法

目录 第一章 前言 第二章 解决bug的方法 2.1 百度 2.2 有道翻译 2.3 debugger 2.4 console.log 日志打印 2.5 请求体是否携带参数 2.6 注释页面渲染代码 2.7 其他 第三章 尾声 备注:该文章只是本人在工作/学习中常用的几种方法,如果有不对大家…

智慧园区移动应用发展面临瓶颈,如何解决?

智慧园区移动应用将在多元化服务、生态建设、智能化管理和跨界融合等方面发展,成为园区管理和服务的重要手段之一,为员工和企业提供更加智能化和便捷化的管理和服务。伴随着智慧城市的建设和智慧园区的崛起,智慧园区数字一体化建设成为园区发…

docker搭建nginx负载均衡

一点小背景 docker起了几个服务,没有配置端口映射,导致不能通过网络访问。当然,更简单的方式是加端口映射,笔者的情况更复杂一些,就想到了用nginx映射一下。 Nginx(发音同“engine X”)是异步框…

避免“文献综抄”,5种写作结构助你完成文献综述→

很多作者可能有过这样的体验:读了很多文献,但在写综述的时候总感觉不像是在写文献综述,更像在写文献总结 如果引用方面不注意,甚至会成为文献综抄。 那么,你可以参考下我们整理的以下资料哦~ 01 文献总结和文献综述的…

DCDC反馈电阻的阻值如何取值?

DCDC芯片的反馈电阻 下图为我们公司现在常用的两款DCDC芯片,TPS54335ADDA/TI和LMR14050SDDA/TI。 其中RFBT和RFBB都是反馈电阻,可以通过调节这两个电阻的比值来输出 预期电压。 FBT:feedback top&a…

保姆级丨XAMPP安装使用

0x00 前言 XAMPP 是一个完全免费,易于安装的 Apache 发行版,包含 MariaDB , PHP 和 Perl 。 XAMPP 开源软件包已经设置为非常容易安装和使用。 0x01 环境说明 Windows 11xampp-windows-x64-8.2.4-0-VS16-installer 0x02 准备工作 首先要访问…

数据库分区;pgAdmin操作pgsql分区;修改pgsql数据库名字

目录 分区 什么是分区 分区的优势 pgAdmin操作pgsql分区 创建父表 创建分区 数据入库分区 扩展(按天创建分区脚本) 修改数据库名字 链接 分区 什么是分区 指将一个大的表或索引分成多个小的、独立的部分,每个部分称为一个分区&#x…

带你了解家居智能的心脏:物联网关

本文将介绍家庭物联网关的相关内容,将明白物联网关在家庭这个场景当中的应用。现在市面上各种各样的智能家居的家电或者其他设备非常多,那么这就需要一个智能的设备去对所有的家电进行管控。这样一个设备就是家庭智能网关,家庭物联网关是家居…

Py之onnx:onnx/onnxruntime库的简介、安装、使用方法之详细攻略

Py之onnx:onnx/onnxruntime库的简介、安装、使用方法之详细攻略 目录 onnx/onnxruntime库的简介 onnx/onnxruntime库的安装 onnx/onnxruntime库的使用方法 1、基础用法 onnx/onnxruntime库的简介 Open Neural Network Exchange(ONNX)是一…

Python每日一练(20230513) 粉刷房子 I\II\III Paint House

目录 1. 粉刷房子 Paint House 2. 粉刷房子 II Paint House-ii 3. 粉刷房子 III Paint House-iii 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 leetcode题号分别为: 256、2…

32 位 ARM® Cortex®-M0+ 单片机,PY32F002B 系列微控制器

PY32F002B 系列微控制器采用高性能的 32 位 ARM Cortex-M0内核,宽电压工作范围的 MCU。嵌入24Kbytes Flash 和 3Kbytes SRAM 存储器,最高工作频率 24MHz。包含多种不同封装类型多款产品。 芯片集成I2C、SPI、USART 等通讯外设,1 路 12bit ADC…

UNIAPP实战项目笔记70 购物车删除商品的前后端交互

UNIAPP实战项目笔记70 购物车删除商品的前后端交互 思路 需要用到vuex 传id值到后端,删除指定id购物车数据 案例截图 购物车商品编辑页面 代码 后端代码 index.js var express require(express); var router express.Router(); var connection require(../db/sql.js); va…

6.Go语言学习笔记-结合chatGPT辅助学习Go语言底层原理

1、Go版本 go1.14.15 2、汇编基础 推荐阅读:GO汇编语言简介 推荐阅读:A Quick Guide to Gos Assembler - The Go Programming Language 精简指令集 数据传输: MOV/LEA 跳转指令: CMP/TEST/JMP/JCC 栈指令: PUSH/POP 函数调用指令: CALL/RET 算术指令: ADD/SUB/MUL/DIV …

PFCdocumentation_FISH Rules and Usage

目录 FISH Scripting FISH Rules and Usage Lines Data Types Reserved Names for Functions and Variables Scope of Variables Functions: Structure, Evaluation, and Calling Scheme Arithmetic: Expressions and Type Conversions Redefining FISH Functions Ex…

hadoop03

MapReduce是Hadoop系统核心组件之一,它是一种可用于大数据并行处理的计算模型、框架和平台,主要解决海量数据的计算,是目前分布式计算模型中应用较为广泛的一种。 练习:计算a.txt文件中每个单词出现的次数 hello world hello ha…