Rails+Github Active CICD基礎腳本設定
使用版本:Ruby3.3.0, Rails7.0.8
cicd是開發專案時很重要的基礎設定,此邊是搭配github active基礎的腳本檔案設置,詳細可以參閱其他更多文件和網路文章。
在github設置active或在專案新增 .github/workflows/rubyonrails.yml
設置yml檔案:
# This workflow uses actions that are not certified by GitHub. They are
# provided by a third-party and are governed by separate terms of service,
# privacy policy, and support documentation.
#
# This workflow will install a prebuilt Ruby version, install dependencies, and
# run tests and linters.
name: "Ruby on Rails CI"
# This workflow is triggered on pushes to the repository.
on:
push:
branches: [main]
pull_request:
branches: [main]
# Jobs will run in parallel
jobs:
test:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:11-alpine
ports:
- "5432:5432"
env:
POSTGRES_DB: rails_test
POSTGRES_USER: rails
POSTGRES_PASSWORD: password
env:
RAILS_ENV: test
DATABASE_URL: "postgres://rails:password@localhost:5432/rails_test"
steps:
- name: Checkout code
uses: actions/checkout@v3
# Add or replace dependency steps here
- name: Install Ruby and gems
#uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
# Add or replace database setup steps here
- name: Set up database schema
run: bin/rails db:schema:load
# Add or replace test runners here
- name: Run tests
run: bin/rake
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install Ruby and gems
#uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: Install bundler-audit
run: gem install bundler-audit
- name: Run bundler-audit
run: bundle exec bundler-audit --update
- name: Update Bundler Configuration
run: bundle lock --add-platform x86_64-linux
...