小编All*_* T.的帖子

如何让Jenkins在推送到BitBucket git存储库的基础上构建?

我有一个托管在BitBucket上的git存储库,并在存储库和我的Jenkins服务器之间设置了SSH身份验证.我可以手动构建Jenkins,但无法在BitBucket上获取Jenkins服务来触发构建.

Jenkins configuration:  
- Project Name: [my_jenkins_job]  
- Build Triggers:  
--Trigger Builds Remotely:  
---Token: [token]

BitBucket configuration:  
- Endpoint: http://[my_jenkins_address]/job/[my_jenkins_job]/build (I've also tried build?token=[token])  
- Project Name: [my_jenkins_job]  
- Module Name: [blank]  
- Token: [token]
Run Code Online (Sandbox Code Playgroud)

访问http:// {my_jenkins_address}/ job/{my_jenkins_job}/ build?token ={token}正确启动构建.

为什么不将更改推送到BitBucket导致Jenkins启动构建?

git bitbucket jenkins

58
推荐指数
6
解决办法
6万
查看次数

Ruby on Rails Monkey修补Gem的模型

这可能很愚蠢,但我要包含一个代表我项目所需模型的宝石.我想为to_custom_string其中一个模型添加一个方法Person.

我试图这样做(按照这个例子): config/initializers/extensions/person.rb

其中包含的内容如下:

class Person < ActiveRecord::Base
  def to_custom_string
    address.street.to_s
  end
end
Run Code Online (Sandbox Code Playgroud)

Persongem中的类具有has_one :address关联.

我遇到的问题是这个补丁似乎覆盖Person了gem中的类,而不是修补它.令人抓狂的是,这种覆盖行为只能通过rake来体验(Person来自gem 的类中声明的所有关联都会丢失).

我的佣金任务是这样的:

namespace :convert
  task :all_persons => :environment do
    Person.where(:param => value).includes(:address).find_in_batches(:batch_size => 2000) do |persons|
      persons.each do |person|
        puts person.to_custom_string
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

打电话bundle exec rake convert:all_persons给了我:

Association named 'address' was not found; perhaps you misspelled it?
Run Code Online (Sandbox Code Playgroud)

但是将rake任务中的代码复制并粘贴到rails控制台中工作正常.

我目前的解决方案是Person将gem中的代码复制到我的app/models目录中,并在to_custom_string那里使用我的方法,我知道这是错误的.

有人可以解释为什么a)irb保留了我的Person …

ruby-on-rails

4
推荐指数
2
解决办法
4132
查看次数

标签 统计

bitbucket ×1

git ×1

jenkins ×1

ruby-on-rails ×1