起因
本人很少写前端,以前也不喜欢node,说实话我现在也不喜欢只是技术栈都在这边没办法。
最近在新买的mac上交叉编译x64的node image,两个多小时还没跑完
如果你在公司没自己搞过CI可以看看用github怎么做,这里我是推到了腾讯云
创建workflows文件
文件写在下面这个地址去,提交到github,或者在仓库的actions选项卡,如果你没有workflows他会提醒你创建一个新的,点了之后默认就是在main分支上建下面这个文件,文件名就是workflow的名字,可以改的
仓库根目录/.github/workflows/main.yml
workflows文件内容
${{ secrets.TENCENT_CLOUD_ACCOUNT_ID }} 类似这种变量是写在仓库页面-Settings-Secrets and variables-Actions选项卡里设置就可以了,注意密文只支持英文数字下划线,如果你的密码不是可能要去修改密码才能用或者写死进去(开源项目请谨慎)
name: Build and Push to Cloud Registry
on:
push:
# main分支变动自动触发
branches: [ main ]
workflow_dispatch:
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
# 登录到云服务商容器仓库,你需要修改成你的
- name: Login to Container Registry
run: |
docker login [REGISTRY_URL] --username ${{ secrets.CLOUD_ACCOUNT_ID }} --password ${{ secrets.CLOUD_TOKEN }}
- name: Build and Push
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: |
[REGISTRY_URL]/[ORGANIZATION]/[PROJECT]-frontend:latest
[REGISTRY_URL]/[ORGANIZATION]/[PROJECT]-frontend:${{ github.sha }}
# 上面这些tags阿 包括docker login哪里的URL你都要替换成你用的${{n}}才是变量
运行actions
最后在actions页面就可以一键运行CI啦,有需要的可以试一下