【发布时间】:2021-12-31 04:22:49
【问题描述】:
我在 AWS EC2 Linux 实例上运行 Jenkins,我正在尝试在 GitHub 上捆绑安装我的 rails 存储库所需的 gem。
这是我为测试而创建的一个新项目,但捆绑包需要几个小时,Jenkins 冻结,我需要重新启动服务器和 Jenkins,但它最终永远无法完成 gems 的安装。
这是我的代码:
pipeline {
agent { docker { image 'ruby:2.6.6' } }
stages {
stage('Fetching Git') {
steps {
git credentialsId: 'user-key',
url: 'git@github.com:user/jenkins_project.git'
}
}
stage('Build') {
steps {
sh 'gem install bundler'
sh 'bundle install --jobs 4'
sh 'RAILS_ENV=test rake db:migrate'
}
}
stage('Test') {
steps {
sh 'RAILS_ENV=test bundle exec rspec --format RspecJunitFormatter --out result_spec.xml'
}
}
}
}
我尝试做的是:
-
捆绑安装时使用 --jobs(它似乎不起作用)
-
在 Gemfile 上使用 http 而不是 https
来源“http://rubygems.org”
我知道这是不安全的。这似乎也不起作用。 3. 也试过这个:
echo 'export MAKE="make -j$(nproc)"' >> $home/.bash_profile
time MAKE="make --jobs 8" bundle install
从这里 (https://build.betterup.com/one-weird-trick-that-will-speed-up-your-bundle-install/)。但它也不起作用。
任何关于为什么会发生这种情况以及如何解决它的想法都非常感谢!
【问题讨论】:
-
是否有任何 jenkins 作业日志导致更具体的上下文,例如无法连接捆绑包并且正在重试安装或构建作业的类似内容?
标签: ruby-on-rails ruby jenkins amazon-ec2 bundle