github action的使用

news/2024/10/12 16:34:14

近年来,我一直在使用jenkins 来部署自己的项目,发现太耗内存了,
因此将自动化部迁的操作改为使用github action。

初始化action配置

选择一个合适的action类型,比如webpack、gitPage、Nodejs等等。

比如我这里选择了webpack,选择完成后 可以看到在仓库里多了一个文件 .github/workflows/webpack.yml

由此可以推得:“参与自动化,其实就是编写一个yml工作流文件”,所以其实你也可以不选择,纯手建,麻烦些而已。

创建一些变量

后续涉及到部署的时候,服务器的ip、密钥什么的不适合直接编码在yml中,因此 git action允许你创建一些变量在仓库的设置中定义,在yml中引用
进入setting > secrets and variables > Actions的目录下,比如设置如下三个配置项

最后在yml中使用即可

#...- name: Deploy to Staging serveruses: easingthemes/ssh-deploy@mainwith:SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}REMOTE_HOST: ${{ secrets.REMOTE_HOST }}REMOTE_PORT: ${{ secrets.REMOTE_PORT}}

部署到私有服务器

如果你不想将项目部署到gitPage,而是想部署到自己服务器上,我们可以编写shell脚本来调用ssh+rsync等来完成部署操作!
不过已经有现有action插件 ssh-deploy供使用,简化了我们自己编码的麻烦。

需要注意的是,这个插件有点坑:

  • 一致提示没有权限 Permission denied,经过特意的学习了一番 ssh和rsync后才知道,我的问题是---作者已经提醒过的 “手动将公钥添加到authorized_keys中”

前端项目

一个较完整的前端项目配置

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

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

相关文章

C#线程---ThreadPool

线程池的简介为每个短暂的异步操作创建线程会产生显著的开销,线程池可以成功地适应于任何 需要大量短暂的开销大的资源的情形。我们事先分配一定的资源,将这些资源放入到资源 池。每次需要新的资源.只需从池中获取一个,而不用创建一个新的。当该资源不再被使用 时,就将其返…

Winform MessageBox消息弹窗如何实现自动关闭

使用了Windows API函数FindWindow和SendMessage来查找消息框的窗口句柄并发送关闭消息 实现方法public class AutoClosingMessageBox{System.Threading.Timer _timeoutTimer;string _caption;AutoClosingMessageBox(string text, string caption, int timeout){_caption = capt…

Express的使用笔记3 中间件

日志中间件 // 挂载会每个接口都执行这段代码 app.use((req,res,next)=>{console.log(req.method,req.url,Date.now())next() //下一个中间件 })2.中间件的顺序很重要 如果有一个普通接口写在上面代码之前,那么就不会进入上面的函数中 但是如果在接口中第二个回调函数的参数…

2024 Navicat Premium 16+17安装教程(附激活方法)

Navicat Premium,作为一款功能全面的集成数据库管理工具,无缝支持多样化的数据库类型,为用户带来前所未有的高效与便捷管理体验。它不仅涵盖了连接管理、数据导入导出、同步迁移、备份恢复等核心功能,确保用户能够游刃有余地应对各类数据库管理挑战,还进一步拓展了数据库对…

gost socks5代理

购买云主机开放所有tcp端口 配置云主机 https://mirrors.tuna.tsinghua.edu.cn/elrepo/kernel/el8/x86_64/ 选择清华镜像源[root@iZbp141m9g3iwgwsmh7pvzZ yum.repos.d]# cat >> /etc/yum.repos.d/elrepo.repo << q [elrepo] name=elrepo gpgcheck=0 baseurl=https…

2024-2025-1 20241403 《计算机基础与程序设计》第三周学习总结

学期(2024-2025-1) 学号(20241403) 《计算机基础与程序设计》第三周学习总结 作业信息这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第三周作业)这个作业的…

基于FIFO使用UART实现FPGA板与PC通信

基于FIFO使用UART实现FPGA板与PC通信 1. UART 简介 UART(通用异步收发传输器)是一种常用的串行通信协议,广泛用于FPGA与外部设备(如PC、传感器等)之间的通信。UART 通信的核心是将并行数据转换为串行数据传输,然后在接收端再将串行数据恢复为并行数据。 UART协议特点:异…

软件构造,生成算式采用CSV、XML、JSON三种形式进行存储并读取。

编写代码完成将生成的算式及习题长期保存下来,采用CSV、XML、JSON三种形式进行存储并读取。提交相关代码及运行截图。import random import csv import json import xml.etree.ElementTree as ET from xml.dom import minidom# 生成随机算式数据 def generate_exercises(count…