我想在cloudbees开发云中使用postgres,我读了这篇文章: http://wiki.cloudbees.com/bin/view/DEV/PostgreSQL
但是,我运行bundle
,我收到错误:
安装pg(0.15.1).......
Gem :: Installer :: ExtensionBuildError:错误:无法构建gem native 扩展
/usr/bin/ruby extconf.rb checking for pg_config... no No pg_config... trying anyway. If building fails, please try again with
- with-pg-config = / path / to / pg_config检查libpq-fe.h ... no找不到'libpq-fe.h header * extconf.rb失败* 由于某些原因无法创建Makefile,可能缺少必要的库和/或标头。校验 mkmf.log文件以获取更多详细信息。您可能需要配置 选项。
提供配置选项: - with-opt-dir --without-opt-dir --with-opt-include --without-opt-include = $ {opt-dir} / include --with-opt-lib --without-opt-lib = $ {opt-dir} / --with-make-prog --without-make-prog --srcdir =。 --curdir --ruby = / usr / bin / ruby --with-pg --without-pg --with-pg-dir --without-pg-dir --with-pg-include --without-pg-include = $ {pg-dir} / include --with-pg-lib --without-pg-lib = $ {pg-dir} / --with-pg-config --without -pg-config --with-pg_config --without-pg_config
Gem文件将保持安装状态 /home/jenkins/.gem/ruby/1.9.1/gems/pg-0.15.1进行检查。结果 登录到 /home/jenkins/.gem/ruby/1.9.1/gems/pg-0.15.1/ext/gem_make.out错误 安装pg(0.15.1)时发生,Bundler无法继续。 在捆绑之前确保
gem install pg -v '0.15.1'
成功。
接下来我该怎么做?
答案 0 :(得分:1)
有两种方法可以解决这个问题:
1)使用上面的解决方法,添加
PATH=/scratch/jenkins/postgresqls/postgresql-9.2.4-x86_64/bin:$PATH
这并不理想,因为我们只是即将移动该路径以支持拉式请求构建
2)结合这两个步骤
在您的构建中,您需要结合PostgreSQL和Ruby安装步骤,以便正确配置环境。
我个人建议使用脚本来进行构建 - ./bin/run-ci
- 而不是在Jenkins中输入所有内容。
这可以控制和记录您的构建过程变更 - 并允许您非常快速地在多个构建服务器上推出更改。
答案 1 :(得分:1)
我使用单个shell脚本,并在顶部声明一次:
export POSTGRESQL_VERSION=9.2.4
curl -s -o use-postgresql https://repository-cloudbees.forge.cloudbees.com/distributions/ci-addons/postgresql/use-postgresql
source ./use-postgresql
然后我没有必要在shell之间传递环境变量。
答案 2 :(得分:0)
我的工作:
将PATH设置为bundle之上,而9.2.4是我的安装版本。
PATH=/scratch/hudson/postgresqls/postgresql-9.2.4-x86_64/bin:$PATH
然后我可以捆绑完成:)