如何手动搭建自动化部署系统

这篇具有很好参考价值的文章主要介绍了如何手动搭建自动化部署系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

前两天写了个脚本帮助组内同学将本地构建产物上传至服务器,可以自动创建路径,监测是否存在历史版本,并将最新上传的产物替换历史版本,历史版本变为回溯版本。

核心就是:

  1. shell 脚本的复制scp指令。
  2. sshpass 免交互 ssh 登录工具。

image.png

上面的脚本可以通过手动执行脚本,或者结合 build 当打包完成的时候自动执行上传脚本。所以能不能再更简单一点,直接跳过打包的动作?

当然可以,经过调研打算采用 jenkins + Tomcat/Nginx + docker 的实现方法。下面将记录如何实现:

实现步骤

image.png

  1. GitHub 上创建一个项目。
  2. Docker 中启动一个 Nginx,将部署空间映射到桌面。
  3. Docker 中创建一个 Jenkins 并对其做配置。 注意:此处 Jenkins 的打包构建地址与 Nginx 部署空间的地址一致。
  4. 设置 Jenkins 触发器并在 Github 中配置 WebHooks
  5. 配置 Jenkins 需要执行的 shell 脚本。
  6. 将代码提交到 GitHub
  7. 查看网页更新。

1. 在 GitHub 上创建一个项目

我这边简化操作,直接用之前写的 vue3项目模版代码:
image.png

2. 在 Docker 中启动 Nginx 服务

TomcatNginx 服务启动和配置都差不多,这边用 Nginx 来演示。

因为我们要部署多个服务:Nginxjenkins,所以选用 docker 来作为容器来跑。它把系统的所有文件封装成一个镜像,镜像跑起来作为容器,它可以在一台机器上跑多个容器,每个容器都有独立的操作系统环境,比如文件系统、网络端口等,在容器内跑各种服务。

这样整个环境都保存在这个镜像里,部署多个实例只要通过这个镜像跑多个容器就行。

使用 docker 有两种方法:命令行和 GUI可视化操作。我这边使用 Docker Desktop来简化指令。
image.png

2.1 pull 镜像

搜索 nginx 镜像,点击 pull(搜索这步需要翻墙,不然搜不到)。
image.png
pull 下来之后,就可以在本地 images 看到了。

2.2 启动 Nginx

image.png
点击 Run 我们可以看到服务已经跑起来了:
image.png
然后在本地路径下创建一个 index.html,填入数据:
image.png
然后在浏览器内输入 localhost/my-project 就能看到访问成功了,说明地址映射成功了。
image.png

3. 在 Docker 中创建一个 Jenkins 并配置

Jenkins 是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件的流程化管理软件是一款插件式的管理软件,方便功能扩展,目前有几百个插件可以使用,覆盖了版本管控、构建工具、代码质量、构建通知、集成外部系统、UI 定制等。

3.1 pull 镜像

搜索 jenkins/jenkins 镜像:
image.png

3.2 启动 Jenkins

image.png
点击 run 后,我们可以看到服务已经跑起来了:
image.png
记住上面红框内的 password,后面会用到。

访问本地 9999 端口我们就可以看到刚刚启动的 Jenkins
image.png
用上面的 password 填入即可,你可以在 initialAdminPassword 文件夹中找到它。

选择推荐安装的插件就可以进入安装页面了
image.png
完成安装依赖后,可以创建一个账户,用户名会作为之后消息通知的名称:
image.png
先不改 Jenkins URL,继续点击保存并完成。
image.png
image.png

3.3 配置 Jenkins

首先点击 Manage Jenkins -> Plugins -> Available plugins,然后搜索 node,选择 NodeJS安装然后重启 Jenkins 服务。
image.pngimage.png
然后返回首页,选择 Tools -> NodeJS 安装 -> 新增 NodeJS
image.png
image.png
建议别名写 node 对应版本(跟着项目实际需要选择)

3.4 新建任务

image.png
选择自由风格的项目。
image.png
配置基本信息,这边我们选择丢弃旧的构建。 为什么要丢弃旧的构建?
image.png
添加凭证,其实就是你的 git 账号。
image.png
image.png
现在 github 主分支是 main 了。
image.png

3.5 设置触发器,并触发

image.png
你可以通过以下方式触发:

http://localhost:9999/job/weihao-project/build?token=chufa

  1. github 中配置 webhooks

image.png
当然现 localhost 不能被外网访问到,本地环境无法添加。

  1. 使用 postman 或者本地浏览器访问来手动触发。
3.6 选择构建环境

选择我们之前添加的 node
image.png

3.7 配置 Jenkins 需要执行 shell 脚本

Jenkins 配置中新增构建步骤
image.png

#!/bin/bash

cd /var/jenkins_home/workspace/jiapandong-project
node -v
npm -v
echo '开始安装依赖'
npm config set registry https://registry.npmmirror.com
npm config get registry
npm i
echo '依赖安装完毕'
echo '开始打包'
npm run build
echo '打包完毕'
echo '准备部署'

# 复制文件到目标目录
cp -r /var/jenkins_home/workspace/jiapandong-project/dist/* /var/tomcatspace
3.7 访问触发器和结果

配置完成后当我们访问触发器时,就会触发打包了。
image.png
点击控制台输出就可以看到部署的结果。
image.png
image.png
然后打开 localhost/my-project 就能看到页面了。
image.png

4. 构建完成后的钉钉通知

以上基本已经完成的最初的目标,这个时候可以再增加一个部署后的钉钉通知。

  1. 添加自定义机器人。

image.png
image.png
image.png

  1. 配置 jenkins

在 jenkins 里添加钉钉插件,并重启。
image.png
在系统管理内选择钉钉
image.png
添加机器人设置,可以点击测试是否设置成功。
image.png
image.png
在构建项目设置中增加钉钉机器人。
image.png
image.png
最后重新触发构建,就能在钉钉上看到开始和成功的消息了!
image.png

结语

因为上文的触发器只能在内网访问,所以我们只能在内网调试。

但在真实环境使用中实现成功后将是如下流程:

  • 开发人员提交代码
  • GitHub 访问触发器
  • Jenkins 执行 shell
  • 部署 Tomcat/Nginx
  • 查看网页更新

如此我们便搭建了一个完整的自动化部署项目。文章来源地址https://www.toymoban.com/news/detail-511859.html

到了这里,关于如何手动搭建自动化部署系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自动化测试还是手动测试?深度探讨Web自动化测试的利与弊,精准性和可靠性抉择应如何。

     目录 前言: 1. 自动化测试的价值 2. 自动化测试的瓶颈 总结 随着互联网的飞速发展,Web应用越来越成为我们日常工作和生活中必不可少的一部分。这也就意味着,Web应用的质量和稳定性变得至关重要。而Web自动化测试作为保证Web应用质量的重要手段之一,同样随之变得越来

    2024年02月07日
    浏览(64)
  • Jenkins自动化部署搭建流程

    进入Jenkins官网下载地址点击Docker,并且记住Jenkins最新稳定版本(LTS) 点击Docker后会自动跳转到 Jenkins的镜像下载页面 ,然后找到刚刚的稳定版本,copy docker pull jenkins/jenkins:2.440.2-lts 语句 -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker 将宿主机的docker环境映射到容器中

    2024年04月12日
    浏览(43)
  • 【OpenSSH+Jenkins搭建项目自动化部署】

    https://github.com/PowerShell/Win32-0penSSH/releases 下载最新的 OpenSSH安装包,如:openSSH-Win64.zip 将压缩包解压到 C:Program FilesOpenSSH 管理员运行cmd 进入目录C:Program FilesOpenSSH 执行命令 管理员运行cmd 进入目录C:Program FilesOpenSSH 执行命令 在当前用户的文件夹下会生成一对秘钥 将文件名

    2024年02月22日
    浏览(40)
  • selenium 自动化测试—如何搭建自动化测试环境?

    🍅 视频学习: 文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 最近也有很多人私下问我,selenium学习难吗,基础入门的学习内容很多是3以前的版本资料,对于有基础的人来说,3到4的差别虽然有,但是不足以影响自己,

    2024年02月19日
    浏览(94)
  • Jenkins+Docker+Gitee搭建自动化部署平台

    目录 服务器准备 Docker安装 yum 包更新到最新 设置yum源 安装docker 启动和开机启动 验证安装是否成功 Jenkins安装 拉取镜像 创建映射目录 运行镜像 运行出错 修正权限 重新运行镜像 新建安全组,放通8080端口 激活Jenkins Jenkins插件 Jenkins全局工具配置 自动构建Springboot项目 准备好

    2024年02月04日
    浏览(52)
  • selenium 自动化测试:如何搭建自动化测试环境,搭建环境过程应该注意的问题

    最近也有很多人私下问我,selenium学习难吗,基础入门的学习内容很多是3以前的版本资料,对于有基础的人来说,3到4的差别虽然有,但是不足以影响自己,但是对于没有学过的人来说,通过资料再到自己写的代码,发现有些东西没有,有些方法又不相同,导致脚本不能运行

    2024年02月10日
    浏览(48)
  • Jenkins+GitLab+Docker搭建前端自动化构建镜像容器部署

    前言 🚀 需提前安装环境及知识点: 1、Docker搭建及基础操作 2、DockerFile文件描述 3、Jenkins搭建及基础点 🚀 目的: 将我们的前端项目打包成一个镜像容器并自动发布部署,可供随时pull访问 1、在当前项目的根目录创建Dockerfile文件并写入如下代码: 代码片段详细描述: 注意

    2024年02月05日
    浏览(70)
  • 如何搭建 Jenkins 自动化测试平台?

    目录 前言 自动化测试搭建 代码仓库搭建 Jenkins 安装 Jenkins 插件安装 Jenkins配置maven Jenkins 关联代码仓库 Gitlab 提交触发 Jenkins 自动构建 生成测试报告 结语 在进行平台搭建前,我们首先要问自己:我需要搭建的平台的功能是什么,要实现什么目标? 在我的理解中,自动化构建

    2023年04月14日
    浏览(51)
  • 如何搭建自动化测试框架?资深测试整理的PO模式,一套打通自动化...

    Po模型介绍 1、简介 在自动化中,Selenium自动化测试中有一个名字经常被提及PageObject(思想与面向对象的特征相同),通常PO模型可以大大提高测试用例的维护效率 2、为什么要用PO 基于selenium2开始ui自动化测试脚本的编写不是多么艰巨的任务。只需要定位到元素,执行对应元素的

    2024年02月13日
    浏览(50)
  • 内网搭建Jenkins自动化远程部署项目到Windows服务器

    War Jenkins Packages 不赘述 一个小诀窍;去有外网的PC上面,部署Jenkins正常搜索插件安装,然后找到安装目录,有个.Jenkins的文件夹,里面有个plug的文件夹,这个就是我们所需所有插件,然后把它拷贝到内网中。  捷径(Jenkins2.346.1版本所需插件):https://download.csdn.net/download/b

    2024年02月17日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包