设为首页 收藏本站
查看: 867|回复: 0

[经验分享] continous integration environment (Jenkins and bitbucket configuration)

[复制链接]

尚未签到

发表于 2018-1-9 09:34:11 | 显示全部楼层 |阅读模式
  ================================================================================
  continous integration environment (Jenkins and bitbucket configuration)
  ================================================================================
  +++++++++++         install plugin on the jenkins website          +++++++++++++
  - jenkins plugin need to install:
  ssh plugin, git plugin and bitbucket plugin
  - add the public key [ jenkins server ] into bitbucket or github
  you need to know which user run the jenkins service
  cat ~/.ssh/id_rsa.pub
  +++++++++++++++++++       configure bitbucket webhook       ++++++++++++++++++++
  #1. Click your project's repository
  #2. Click [setting] - [webhook]
  #3. Click [Add webhook]
  Title: CI Notification
  URL: http://jenkins_server_ip:8080/bitbutket-hook/
  status: Active
  SSL / TLS [unchecked]
  Triggers: choose [Repository push]
  +++++++++++++++++++++++       helloworld_build_app       +++++++++++++++++++++++
  #1. Click "New Item" at the top right.
  #2. Enter an item name. [helloworld_build_app]
  #3. Select Freestyle project option.
  #4. Click "OK" button.
  #5. Typing your_display_name [helloworld_build_app] on the field of Display Name after you click the Advanced button.
  #6. Source Code Management
  1) choose git
  2)Repository URL: https://XXXX@bitbucket.org/XXXXXX/helloworld.git
  3)Credentials: add into your credentails
  #7. Build Triggers
  Build when a change is pushed to BitBucket [select this option only you install bitbucket plugin]
  #8. Build
  ===================================
  Add Build Step => Execute Shell
  ===================================
  #!/bin/bash --login
  #exec 1> /tmp/jenkins_helloworld_build_app.log
  echo "===============  START TO BUILD  =================="
  export RAILS_ENV=test
  #export $BUILD_NUMBER
  echo "=============================================================="
  whoami
  echo $BUILD_NUMBER
  echo "=============================================================="
  source ~/.bashrc          # Loads RVM
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

  cd .                      # Loads the RVM environment set in the .rvmrc file
  rvm current               # will display current rvm (debugging purpoyse)
  rvm -v
  rvm list
  rvm gemset list
  rvm use 2.3.1@helloworld
  rvm gemset list
  RAILS_ENV=test bundle install --without development
  RAILS_ENV=test bundle exec rails db:drop db:create db:migrate
  RAILS_ENV=test bundle exec rails test
  echo "===============   END TO BUILD   =================="
  ================================================================================
  +++++++++++++++++++++++       helloworld_deploy_app       ++++++++++++++++++++++
  #1. Click "New Item" at the top right.
  #2. Enter an item name. [helloworld_deploy_app]
  #3. Select Freestyle project option.
  #4. Click "OK" button.
  #5. Typing your_display_name [helloworld_deploy_app] on the field of Display Name after you click the Advanced button.
  #6. Source Code Management
  1) choose git
  2)Repository URL: https://XXXXX@bitbucket.org/XXXXX/helloworld.git
  3)Credentials: add into your credentails
  #7. Build Triggers
  1) Select Build after other projects are built
  2) Projects to watch [helloworld_build_app]
  3) Trigger only if build is stable
  #8. Build
  =================
  Execute Shell
  =================
  #!/bin/bash --login
  echo "=====================      START TO DEPLOY       ======================="
  source ~/.bashrc          # Loads RVM
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

  cd .                      # Loads the RVM environment set in the .rvmrc file
  rvm current               # will display current rvm (debugging purpoyse)
  rvm -v
  rvm list
  rvm gemset list
  rvm use 2.3.1@helloworld
  rvm gemset list
  bundle exec cap staging puma:kill_puma
  bundle exec cap staging deploy
  echo "======================      END TO DEPLOY       ======================="
  cd /var/lib/jenkins/workspace/your_project_name
  whomai  => jenkins
  try to deploy your project via [ bundle exec cap staging deploy ]
  ================================================================================

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-433152-1-1.html 上篇帖子: This Jenkins instance appears to be offline 下篇帖子: jenkins集成sonarqube代码审核
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表