回上一頁

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
  

 

 

 

 

 

...