Tauri 工作流程修改
1. 我们需要在工作流中添加一个步骤来将证书导入到Windows环境中。此工作流执行以下操作:
- 将GitHub Secrets分配给环境变量。
- 创建一个新的证书目录。
- 将 WINDOWS_CERTIFICATE 导入到 tempCert.txt 文件。
- 使用 certutil 将 tempCert.txt 从base64解码为 .pfx 文件。
- 删除 tempCert.txt 文件。
- 将 .pfx 文件导入到Windows的证书存储中,并将 WINDOWS_CERTIFICATE_PASSWORD 转换为安全字符串以在导入命令中使用。
2. 我们将使用 tauri-action 发布模板。
name: 'publish'
on:
push:
branches:
- release
jobs:
publish-tauri:
strategy:
fail-fast: false
matrix:
platform: [macos-latest, ubuntu-latest, windows-latest]
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v2
- name: setup node
uses: actions/setup-node@v1
with:
node-version: 12
- name: install Rust stable
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: install webkit2gtk (ubuntu only)
if: matrix.platform == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y webkit2gtk-4.0
- name: install app dependencies and build it
run: yarn && yarn build
- uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tagName: app-v__VERSION__ # the action automatically replaces \_\_VERSION\_\_ with the app version
releaseName: 'App v__VERSION__'
releaseBody: 'See the assets to download this version and install.'
releaseDraft: true
prerelease: false
3. 在 install app dependencies and build it
步骤的上方,您将想要添加以下步骤。
- name: import windows certificate
if: matrix.platform == 'windows-latest'
env:
WINDOWS_CERTIFICATE: ${{ secrets.WINDOWS_CERTIFICATE }}
WINDOWS_CERTIFICATE_PASSWORD: ${{ secrets.WINDOWS_CERTIFICATE_PASSWORD }}
run: |
New-Item -ItemType directory -Path certificate
Set-Content -Path certificate/tempCert.txt -Value $env:WINDOWS_CERTIFICATE
certutil -decode certificate/tempCert.txt certificate/certificate.pfx
Remove-Item -path certificate -include tempCert.txt
Import-PfxCertificate -FilePath certificate/certificate.pfx -CertStoreLocation Cert:\CurrentUser\My -Password (ConvertTo-SecureString -String $env:WINDOWS_CERTIFICATE_PASSWORD -Force -AsPlainText)
4. 保存并推送到您的存储库。
5. 您的工作流现在可以导入您的Windows证书并将其导入到GitHub Runner,从而实现自动化的代码签名!