[Shifter Github Plugin/Theme Installer]GitHubで管理されているテーマを手動デプロイ
- .github/workflows/release.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
name: Tag and Release on: push: branches: [main] jobs: tag-and-release: name: Tag and Release runs-on: ubuntu-latest permissions: contents: write defaults: run: working-directory: "./" steps: - uses: actions/checkout@v4 - name: Fetch tags run: git fetch --tags - name: Get latest tag id: get_latest_tag run: | TAG=$(git describe --tags `git rev-list --tags --max-count=1` || echo "0.0.0") echo "Latest tag: $TAG" echo "latest_tag=$TAG" >> $GITHUB_ENV - name: Calculate next tag id: calculate_next_tag run: | IFS='.' read -r MAJOR MINOR PATCH <<< "${{ env.latest_tag }}" NEXT_TAG="$MAJOR.$MINOR.$((PATCH+1))" echo "Next tag: $NEXT_TAG" echo "next_tag=$NEXT_TAG" >> $GITHUB_ENV - name: Create new tag run: | git tag ${{ env.next_tag }} git push origin ${{ env.next_tag }} - name: create archive env: PACKAGE_NAME: "hoge-theme" FILES_TO_ARCHIVE: "*" run: | sed -i -e "s/{release version}/${{ env.next_tag }}/g" ./style.css zip -r ${PACKAGE_NAME}.zip ${FILES_TO_ARCHIVE} - name: Upload to GitHub Release env: PACKAGE_NAME: "hoge-theme" GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GOPATH: /home/runner/go run: | go install github.com/tcnksm/ghr@latest ${GOPATH}/bin/ghr \ -b "Release ${{ env.next_tag }}" \ -replace \ "${{ env.next_tag }}" \ "${PACKAGE_NAME}.zip" |
- style.css
1 |
Version: {release version} |
上記、公式だとgit tagとpushを手動で実行するとデプロイされるが、めんどくさいので、mainにマージ後にtagとthemeをZIP化してReleaseを更新するように直した。その後のテーマのアップデートは手動でやるか、自動更新される。
Was this helpful?
0 / 0
1989年生まれのFindy/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTA/TechBullで未経験者にインフラのコーチング/コミュニティマネージャーとして立ち上げと運営をしている。また、過去「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。