1
- name : Build and Deploy Jekyll Site
2
- on :
3
- push :
4
- branches :
5
- - master # ← GitHub Pages のデプロイ対象ブランチ
6
- permissions :
7
- contents : read
8
- pages : write
9
- id-token : write
10
-
11
- jobs :
12
- build :
13
- runs-on : ubuntu-latest
14
-
15
- steps :
16
- - name : Checkout repository
17
- uses : actions/checkout@v4 # 最新の checkout アクションを使用
18
-
19
- - name : Install Ruby and Jekyll
20
- run : |
21
- sudo apt-get update -y
22
- sudo apt-get install -y ruby-full build-essential zlib1g-dev
23
- echo 'export GEM_HOME="$HOME/gems"' >> ~/.bashrc
24
- echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.bashrc
25
- source ~/.bashrc
26
- gem install jekyll bundler
27
-
28
- - name : Install dependencies
29
- run : |
30
- bundle install
31
-
32
- - name : Build Jekyll site
33
- run : |
34
- bundle exec jekyll build --destination ./_site
35
-
36
- - name : Upload artifact
37
- uses : actions/upload-pages-artifact@v2 # GitHub Pages 用の成果物アップロード
38
-
39
- deploy :
40
- runs-on : ubuntu-latest
41
- needs : build
42
- steps :
43
- - name : Deploy to GitHub Pages
44
- id : deployment
45
- uses : actions/deploy-pages@v4 # GitHub Pages へデプロイ
46
- environment :
47
- name : github-pages
48
- url : ${{ steps.deployment.outputs.page_url }}
1
+ # Sample workflow for building and deploying a Jekyll site to GitHub Pages
2
+ name : Deploy Jekyll with GitHub Pages dependencies preinstalled
3
+
4
+ on :
5
+ # Runs on pushes targeting the default branch
6
+ push :
7
+ branches : ["master"]
8
+
9
+ # Allows you to run this workflow manually from the Actions tab
10
+ workflow_dispatch :
11
+
12
+ # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
13
+ permissions :
14
+ contents : read
15
+ pages : write
16
+ id-token : write
17
+
18
+ # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
19
+ # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
20
+ concurrency :
21
+ group : " pages"
22
+ cancel-in-progress : false
23
+
24
+ jobs :
25
+ # Build job
26
+ build :
27
+ runs-on : ubuntu-22.04
28
+ steps :
29
+ - name : Checkout
30
+ uses : actions/checkout@v4
31
+ - name : Setup Pages
32
+ uses : actions/configure-pages@v5
33
+ - name : Build with Jekyll
34
+ uses : actions/jekyll-build-pages@v1
35
+ with :
36
+ source : ./
37
+ destination : ./_site
38
+ - name : Upload artifact
39
+ uses : actions/upload-pages-artifact@v3
40
+
41
+ # Deployment job
42
+ deploy :
43
+ runs-on : ubuntu-22.04
44
+ needs : build
45
+ steps :
46
+ - name : Deploy to GitHub Pages
47
+ id : deployment
48
+ uses : actions/deploy-pages@v4
49
+ environment :
50
+ name : github-pages
51
+ url : ${{ steps.deployment.outputs.page_url }}
0 commit comments