I have difficulty to solve datocms build with Gitlab Jekyll
All are already setup , runner with webhook.
This is the pipeline job result here
Running with gitlab-runner 12.9.0 (4c96e5ad)
on datocms-runner q2ohGFi5
Preparing the “docker” executor
00:02
Using Docker executor with image ruby:2.6 …
Pulling docker image ruby:2.6 …
Using docker image sha256:14ffe9b9c2e25db4dc2b75f0399ba69175dde380bdf62595df120769cba66313 for ruby:2.6 …
Preparing environment
00:03
Running on runner-q2ohGFi5-project-344-concurrent-0 via gitlab…
Getting source from Git repository
00:05
Fetching changes with git depth set to 50…
Reinitialized existing Git repository in /builds/lohnsonok/datocms-project/.git/
From
- [new ref] refs/pipelines/742 → refs/pipelines/742
Checking out 9e276034 as master…
Removing .env
Removing .gitignore
Removing .jekyll-cache/
Removing Gemfile
Removing Gemfile.lock
Removing _posts/
Removing public/
Removing vendor/
Skipping Git submodules setup
Restoring cache
00:15
Checking cache for default…
No URL provided, cache will not be downloaded from shared cache server. Instead a local version of cache will be extracted.
Successfully extracted cache
Downloading artifacts
00:06
Running before_script and script
05:17
$ bundle init
Writing new Gemfile to /builds/lohnsonok/datocms-project/Gemfile
$ echo ‘gem “dato”’ >> Gemfile
$ echo ‘gem “jekyll”, “4.0.0”’ >> Gemfile
$ echo ‘gem “json”, “2.3.0”’ >> Gemfile
$ gem install bundler
Successfully installed bundler-2.1.4
1 gem installed
$ gem install dato
Successfully installed multipart-post-2.1.1
Successfully installed faraday-1.0.1
Successfully installed faraday_middleware-1.0.0
Successfully installed concurrent-ruby-1.1.6
HEADS UP! i18n 1.1 changed fallbacks to exclude default locale.
But that may break your application.
If you are upgrading your Rails application from an older version of Rails:
Please check your Rails app for ‘config.i18n.fallbacks = true’.
If you’re using I18n (>= 1.1.0) and Rails (< 5.2.2), this should be
‘config.i18n.fallbacks = [I18n.default_locale]’.
If not, fallbacks will be broken in your app by I18n 1.1.x.
If you are starting a NEW Rails application, you can ignore this notice.
For more info see:
Successfully installed i18n-1.8.2
Successfully installed thread_safe-0.3.6
Successfully installed tzinfo-1.2.7
Successfully installed zeitwerk-2.3.0
Successfully installed activesupport-6.0.2.2
Successfully installed public_suffix-4.0.3
Successfully installed addressable-2.7.0
Successfully installed thor-1.0.1
Successfully installed imgix-3.2.1
Successfully installed parslet-1.8.2
Successfully installed toml-0.2.0
Successfully installed cacert-0.5.0
Successfully installed dotenv-2.7.5
Successfully installed websocket-1.2.8
Successfully installed pusher-client-0.6.2
Successfully installed rb-fsevent-0.10.3
Building native extensions. This could take a while…
Successfully installed ffi-1.12.2
Successfully installed rb-inotify-0.10.1
Successfully installed listen-3.2.1
Successfully installed dato_json_schema-0.20.8
Successfully installed mime-types-data-3.2019.1009
Successfully installed mime-types-3.3.1
Successfully installed dato-0.7.10
27 gems installed
$ gem install jekyll
Successfully installed colorator-1.1.0
Building native extensions. This could take a while…
Successfully installed http_parser.rb-0.6.0
Building native extensions. This could take a while…
Successfully installed eventmachine-1.2.7
Successfully installed em-websocket-0.5.1
Building native extensions. This could take a while…
Successfully installed sassc-2.2.1
Successfully installed jekyll-sass-converter-2.1.0
Successfully installed jekyll-watch-2.2.1
Successfully installed kramdown-2.1.0
Successfully installed kramdown-parser-gfm-1.1.0
Successfully installed liquid-4.0.3
Successfully installed mercenary-0.3.6
Successfully installed forwardable-extended-2.6.0
Successfully installed pathutil-0.16.2
Successfully installed rouge-3.17.0
Successfully installed safe_yaml-1.0.5
Successfully installed unicode-display_width-1.7.0
Successfully installed terminal-table-1.8.0
Jekyll 4.0 comes with some major changes, notably:
- Our
linktag now comes with therelative_urlfilter incorporated into it.
You should no longer prepend{{ site.baseurl }}to{% link foo.md %}
For further details: - Our
post_urltag now comes with therelative_urlfilter incorporated into it.
You shouldn’t prepend{{ site.baseurl }}to{% post_url 2019-03-27-hello %}
For further details: - Support for deprecated configuration options has been removed. We will no longer
output a warning and gracefully assign their values to the newer counterparts
internally.
Successfully installed jekyll-4.0.0
18 gems installed
$ bundle install --path vendor
[DEPRECATED] The --path flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use bundle config set path 'vendor', and stop using this flag
Fetching gem metadata from https://rubygems.org/…
Resolving dependencies…
Using concurrent-ruby 1.1.6
Using i18n 1.8.2
Using minitest 5.14.0
Using thread_safe 0.3.6
Using tzinfo 1.2.7
Using zeitwerk 2.3.0
Using activesupport 6.0.2.2
Using public_suffix 4.0.3
Using addressable 2.7.0
Using bundler 2.1.4
Using cacert 0.5.0
Using colorator 1.1.0
Using dato_json_schema 0.20.8
Using dotenv 2.7.5
Using multipart-post 2.1.1
Using faraday 1.0.1
Using faraday_middleware 1.0.0
Using imgix 3.2.1
Using rb-fsevent 0.10.3
Using ffi 1.12.2
Using rb-inotify 0.10.1
Using listen 3.2.1
Using mime-types-data 3.2019.1009
Using mime-types 3.3.1
Using json 2.3.0
Using websocket 1.2.8
Using pusher-client 0.6.2
Using thor 1.0.1
Using parslet 1.8.2
Using toml 0.2.0
Using dato 0.7.10
Using eventmachine 1.2.7
Using http_parser.rb 0.6.0
Using em-websocket 0.5.1
Using forwardable-extended 2.6.0
Using sassc 2.2.1
Using jekyll-sass-converter 2.1.0
Using jekyll-watch 2.2.1
Using kramdown 2.1.0
Using kramdown-parser-gfm 1.1.0
Using liquid 4.0.3
Using mercenary 0.3.6
Using pathutil 0.16.2
Using rouge 3.17.0
Using safe_yaml 1.0.5
Using unicode-display_width 1.7.0
Using terminal-table 1.8.0
Using jekyll 4.0.0
Bundle complete! 3 Gemfile dependencies, 48 gems now installed.
Bundled gems are installed into ./vendor
$ bundle install
Using concurrent-ruby 1.1.6
Using i18n 1.8.2
Using minitest 5.14.0
Using thread_safe 0.3.6
Using tzinfo 1.2.7
Using zeitwerk 2.3.0
Using activesupport 6.0.2.2
Using public_suffix 4.0.3
Using addressable 2.7.0
Using bundler 2.1.4
Using cacert 0.5.0
Using colorator 1.1.0
Using dato_json_schema 0.20.8
Using dotenv 2.7.5
Using multipart-post 2.1.1
Using faraday 1.0.1
Using faraday_middleware 1.0.0
Using imgix 3.2.1
Using rb-fsevent 0.10.3
Using ffi 1.12.2
Using rb-inotify 0.10.1
Using listen 3.2.1
Using mime-types-data 3.2019.1009
Using mime-types 3.3.1
Using json 2.3.0
Using websocket 1.2.8
Using pusher-client 0.6.2
Using thor 1.0.1
Using parslet 1.8.2
Using toml 0.2.0
Using dato 0.7.10
Using eventmachine 1.2.7
Using http_parser.rb 0.6.0
Using em-websocket 0.5.1
Using forwardable-extended 2.6.0
Using sassc 2.2.1
Using jekyll-sass-converter 2.1.0
Using jekyll-watch 2.2.1
Using kramdown 2.1.0
Using kramdown-parser-gfm 1.1.0
Using liquid 4.0.3
Using mercenary 0.3.6
Using pathutil 0.16.2
Using rouge 3.17.0
Using safe_yaml 1.0.5
Using unicode-display_width 1.7.0
Using terminal-table 1.8.0
Using jekyll 4.0.0
Bundle complete! 3 Gemfile dependencies, 48 gems now installed.
Bundled gems are installed into ./vendor
$ bundle update
Fetching gem metadata from https://rubygems.org/…
Resolving dependencies…
Using concurrent-ruby 1.1.6
Using i18n 1.8.2
Using minitest 5.14.0
Using thread_safe 0.3.6
Using tzinfo 1.2.7
Using zeitwerk 2.3.0
Using activesupport 6.0.2.2
Using public_suffix 4.0.3
Using addressable 2.7.0
Using bundler 2.1.4
Using cacert 0.5.0
Using colorator 1.1.0
Using dato_json_schema 0.20.8
Using dotenv 2.7.5
Using multipart-post 2.1.1
Using faraday 1.0.1
Using faraday_middleware 1.0.0
Using imgix 3.2.1
Using rb-fsevent 0.10.3
Using ffi 1.12.2
Using rb-inotify 0.10.1
Using listen 3.2.1
Using mime-types-data 3.2019.1009
Using mime-types 3.3.1
Using json 2.3.0
Using websocket 1.2.8
Using pusher-client 0.6.2
Using thor 1.0.1
Using parslet 1.8.2
Using toml 0.2.0
Using dato 0.7.10
Using eventmachine 1.2.7
Using http_parser.rb 0.6.0
Using em-websocket 0.5.1
Using forwardable-extended 2.6.0
Using sassc 2.2.1
Using jekyll-sass-converter 2.1.0
Using jekyll-watch 2.2.1
Using kramdown 2.1.0
Using kramdown-parser-gfm 1.1.0
Using liquid 4.0.3
Using mercenary 0.3.6
Using pathutil 0.16.2
Using rouge 3.17.0
Using safe_yaml 1.0.5
Using unicode-display_width 1.7.0
Using terminal-table 1.8.0
Using jekyll 4.0.0
Bundle updated!
$ echo ‘.env’ >> .gitignore
$ echo ‘DATO_API_TOKEN=*****************************’ >> .env
$ bundle exec dato dump
Fetching content from DatoCMS… ✓ Done!
$ bundle exec dato dump --preview
Fetching content from DatoCMS… ✓ Done!
$ bundle exec jekyll build -d public
Configuration file: none
Source: /builds/lohnsonok/datocms-project
Destination: /builds/lohnsonok/datocms-project/public
Incremental build: disabled. Enable with --incremental
Generating…
done in 0.014 seconds.
Auto-regeneration: disabled. Use --watch to enable.
Running after_script
00:07
Saving cache
00:30
Creating cache default…
vendor/: found 7749 matching files
No URL provided, cache will be not uploaded to shared cache server. Cache will be stored only locally.
Created cache
Uploading artifacts for successful job
00:09
Uploading artifacts…
public: found 7 matching files
Uploading artifacts to coordinator… ok id=2972 responseStatus=201 Created token=52GLVFuy
Job succeeded
And my gitlab-ci yamp file
# requiring the environment of Ruby 2.3.x
image: ruby:2.6
add cache to ‘vendor’ for speeding up builds
cache:
paths:
- vendor/
before_script:
- bundle init
- echo ‘gem “dato”’ >> Gemfile
- echo ‘gem “jekyll”, “4.0.0”’ >> Gemfile
- echo ‘gem “json”, “2.3.0”’ >> Gemfile
- gem install bundler
- gem install dato
- gem install jekyll
- bundle install --path vendor
- bundle install
- bundle update
pages:
stage: build
script:first dump all the remote content as local files
- echo ‘.env’ >> .gitignore
- echo ‘DATO_API_TOKEN=*************************’ >> .env
- bundle exec dato dump
then generate the website
- bundle exec dato dump --preview
#- bundle exec dato jekyll build - bundle exec jekyll build -d public
#- bundle exec jekyll build
copy the /public folder to S3 bucket
#- aws s3 cp ./ s3://$S3_BUCKET_NAME/ --recursive --exclude “" --include ".html”
artifacts:
paths:- public
only: - master # the ‘deploy’ job will affect only the ‘master’ branch