Migrate From Travis CI to GitHub Actions
Travis CI to GitHub Actions
Travis CI还没怎么用上呢,现在都开始迁移到GA(github actions)了?
发现这个宝藏库lab.github.com,跟着学习一下基础的Hello World Action。
交互非常惊喜,大纲进行说明,开始第一步后,自动在用户目录下创建hello-github-actions项目。
**github-learning-lab**机器人会自动新建一个issues #1简单描述Actions的背景知识、第一步如何操作——直接以comments的方式进行交互。
按照流程操作后,提交一次PR,然后会在这个pull #2请求里依次完成接下来的6个步骤——
- Add a Dockerfile
- Add an entrypoint script
- Add an action.yml file
- Start your workflow file
- Run an action from your workflow file
- Trigger the workflow
- Incorporate the workflow
按照要求完成一步进行push操作,机器人会根据提交的内容自动判断是否符合步骤要求。如果不符合,会自动进行相应的提示,自动列出“可能出错的场景”(例如我第一次将文件夹名称写错了)
完成后,自动关闭[issues #1]并新开一个issues #3祝贺完成。
此时回到[Hello World Action]课程,可以看到这哥课程已经完成。交互体验完美。
这样依赖wercker生成hugo静态代码站的CI流程可以迁移到GA了,搜索一下,已经很多人提供写好的hugo actions 了。
事实上,github Actions本身也是一个开源组织,要用到的具体Action,例如checkout@v2就是这个组织下的具体项目。
写好的actions可以提交到商店marketplace
注意事项
- 编写的action中需要用到token变量,目前有强制的一年有效期
- 过期后,新创建一个token,赋于必要的权限 tokens, 需要包含读写权限,所以需要使用classic的token
- 将这个token的值传递给项目的
/settings/secrets/actions
中定义的token变量