
我的研究成果,有类似需求的可以直接用,push新tag后自动create release,release title为新tag,release note为commit log,不是太复杂的个人小项目用起来还是不错的
https://gist.github.com/Solor/da3b80c5c7532d967356af9770e971cc
name: Release on: push: tags: - '*' jobs: release: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Generate changelog id: changelog uses: metcalfc/[email protected] with: myToken: ${{ secrets.GITHUB_TOKEN }} - name: Create Release id: create_release uses: actions/create-release@latest env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: Release ${{ github.ref }} body: ${{ steps.changelog.outputs.changelog }} draft: false prerelease: false &bsp; 1 vcheckzen 2020 年 7 月 29 日 via Android 调调 API 就行了 |
2 uTOmOuk3L6sb4MSI 2020 年 7 月 29 日 via iPhone 我记得大部分 action 都是 create-release 和 upload-release 都是分开的,我在 create-release 先写 note,之后 upload-release 再上传文件即可。 |
3 uTOmOuk3L6sb4MSI 2020 年 7 月 30 日 via iPhone |
4 imzcg2 2020 年 7 月 30 日 via Android 目测 travis 可以轻松完成任务 |
5 MajestySolor OP @ODD10 #2 请问你的脚本 create release 这一步里面的 ${{ env.useVersionInfo }} 这个环境变量是怎么来的呢,我就是不明白怎么设置这些变量 |
6 Trim21 2020 年 7 月 30 日 via Android 这些环境变量有三个来源。一个你在 yaml 里面写的,一个是 actions 自带的一些 github.ref 之类的变量,还有一个是输出特定命令到 stdout 也可以设置环境变量。具体的 logging command 的格式我忘了,GitHub 的文档有写。 |
7 bitdust 2020 年 7 月 30 日 提问:为什么这类 CI 的构建脚本都这么难用? 我理解作为一种 DSL,CI 系统需要解决的问题和一般的脚本语言不一样 但写 yml 描述构建过程实在是太坑爹了吧 makefile 都比这些玩意人性化一些, 以后会出现更好用的 CI 脚本语言吗? |
8 uTOmOuk3L6sb4MSI 2020 年 7 月 30 日 via iPhone |
9 MintZX 2020 年 7 月 30 日 |
10 wangxiaoer 2020 年 7 月 30 日 这些 Action 的执行环境在哪里?跟 gitlab-runner 一样需要自己部署一个 runner 吗? |
11 unsized 2020 年 7 月 30 日 https://github.com/actions/create-release#example-workflow---create-a-release 这个 action 可以根据 tag 自动在 github release |
12 MajestySolor OP @bitdust #7 哈哈,确实难用,我这几天已经看晕了 |
13 MajestySolor OP @ODD10 #8 太感谢了,终于学会怎么设置读取环境变量了,按你这个做法我可以直接设置读取 tag 和 message,感谢感谢。 |