GitHub Actions工作流搭建
GitHub Actions工作流搭建
GitHub Actions的官方概述如下:
GitHub Actions 是一种持续集成和持续交付 (CI/CD) 平台,可用于自动执行生成、测试和部署管道。
您可以创建工作流程来构建和测试存储库的每个拉取请求,或将合并的拉取请求部署到生产环境。
GitHub Actions 不仅仅是 DevOps,还允许您在存储库中发生其他事件时运行工作流程。
例如,您可以运行工作流程,以便在有人在您的存储库中创建新问题时自动添加相应的标签。
GitHub 提供 Linux、Windows 和 macOS
虚拟机来运行工作流程,或者您可以在自己的数据中心或云基础架构中托管自己的自托管运行器。
搭建GitHub首先需要有GitHub仓库
GitHub仓库搭建
1.新建github仓库
2.git连接github远程仓库
分为两种方式,https和ssh
https:方式需要先生成token在每次连接时需要输入用户密码仓库名称比较麻烦
git remote set-url origin https://<your_token>@github.com/<USERNAME>/<REPO>.git
ssh的方式
在某文件夹下git bash,填写用户名和邮箱作为标识
git config --global user.name "XXXX" 用户名标识 ---- 实际也可以填写您的github仓库的名称
git config --global user.email "xxxx@xxx.com" 邮箱标识 -------可以填写github仓库的邮箱
ssh配置密钥
输入命令后一直回车即可
ssh-keygen -t rsa //--创建秘钥
在生成的.ssh目录里发现两个文件,私钥和公钥
打开公钥复制内容
github配置ssh密钥
setting
New SSH Key
设置title填入公钥key
创建成功,还会收到一份提示邮件
连接远程仓库
建立仓库
git init
创建远程remote
git remote add origin git@github.com:Onetpaer/test.git
使用命令查看是否配置成功
git remote -v
3.上传测试
切换main分支(github default默认分支)
git check out main
先同步远程仓库
git pull origin main
若报错fatal: refusing to merge unrelated histories
git pull --rebase origin main
新建文件add test1.txt
git add .
git commit -m "test pull push"
push到远程master分支
git push origin main
新增文件push成功
GitHub Actions搭建
新建runner
按照步骤选择linux服务器进行操作
在运行config.sh时报错Must not run with sudo
我们新建普通用户进行启动
su github
需要读写权限,无权限需要切换高权限用户赋予用户github读写权限
chown -R github /data/test/github
之后再运行config.sh脚本
配置.github/workflow/learn-github-actions.yml
name: learn-github-actions
run-name: ${{ github.actor }} is learning GitHub Actions
on: [push]
jobs:
check-bats-version:
runs-on: self-hosted
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '14'
- run: npm install -g bats
- run: bats -v
最后运行run.sh脚本文件
可以看到actions成功运行,因为设置的workflow是on:[push] 多次使用push命令均成功触发