我有以下.gitlab-ci.yml
文件
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- ssh-add /root/gitlab-runner/.ssh/id_rsa
- mkdir -p ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- apt-get update -qq && apt-get install -y -qq apt-utils sqlite3 libsqlite3-dev nodejs tree
- gem install bundler --no-ri --no-rdoc
- bundle install --jobs $(nproc) "${FLAGS[@]}"
- cp /root/gitlab-runner/.database.gitlab-ci.yml config/database.yml
- RAILS_ENV=test rake parallel:setup
rspec:
script:
- rake parallel:spec
问题是我们有很多项目使用完全相同的before_script
操作,这些操作有时会发生变化,因此我们必须为每个项目更新此文件。有没有办法自动配置运行器以执行操作,以便在这种情况下.gitlab-ci.yml
变为:
rspec:
script:
- rake parallel:spec