52 lines
2.4 KiB
Markdown
52 lines
2.4 KiB
Markdown
|
+++
|
||
|
date = "2019-12-16"
|
||
|
tags = ["github"]
|
||
|
title = "github pagesでサブドメインのリポジトリにソースを載せない方法"
|
||
|
slug = "ghpages"
|
||
|
+++
|
||
|
|
||
|
現在、hugoをgithub-actionsで自動ビルドとデプロイしているのですが、デプロイが、コミットを消すやつじゃないので困ってます。
|
||
|
|
||
|
デプロイすると、`${user}.github.io`のリポジトリの場合、masterにhtmlが置かれます。(privateなら見えないようにできる)
|
||
|
|
||
|
しかし、この前、ちょっと裏技ぽいものを発見したのでメモ。
|
||
|
|
||
|
以下でmasterの内容がgh-pagesに反映されなかった。おそらく、githubのpage-buildが走ってないからだと思う。
|
||
|
|
||
|
```yml:.github/workflows/deploy.yml
|
||
|
name: github pages deploy
|
||
|
|
||
|
on:
|
||
|
page_build:
|
||
|
|
||
|
jobs:
|
||
|
build:
|
||
|
runs-on: ubuntu-18.04
|
||
|
steps:
|
||
|
- uses: actions/checkout@v2
|
||
|
with:
|
||
|
branch: 'master'
|
||
|
run: git checkout master
|
||
|
|
||
|
- uses: ad-m/github-push-action@master
|
||
|
with:
|
||
|
branch: 'master'
|
||
|
force: true
|
||
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||
|
run: |
|
||
|
git config --local user.email "action@github.com"
|
||
|
git config --local user.name "GitHub Action"
|
||
|
GIT_SEQUENCE_EDITOR="sed -ie '2 s/^pick /f /g'" git rebase -i --root
|
||
|
```
|
||
|
|
||
|
https://help.github.com/ja/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#
|
||
|
|
||
|
やりたいことは、masterのcommitをfixupしてcommit削減なんだけど、実際に実行された内容は、branch:srcの内容をmasterに`psuh -f`するみたいな感じになってる。つまり、srcがmasterにコピーされたのに、ページが表示されていました。
|
||
|
|
||
|
ただし、何度も連続でcommitして、このアクションが2回連続実行されたりするとページが消えてしまう危険があります。
|
||
|
|
||
|
おそらく、gh-pagesのbuildが走るのはworkflow中に一回で、連動している場合、同workflow内でmasterにpushされても`page_build`が走らないため、最新のmasterの内容がページに反映されていないんだと思う。もしくは、`on:page_build`のアクションには`page_build`は実行されないとか。
|
||
|
|
||
|
とはいえ、不安定な挙動を放置するわけにもいかないので、使わないかな。効果がcommit整理とhtmlソースをリポジトリに置かないことだけですし。
|
||
|
|