TOKOROM BLOG

iOSとかVimとかその他日々の雑多な技術情報

JenkinsにBitbucketからビルド命令を出す際にIDとPasswordを埋め込まないようにする はてなブックマーク - JenkinsにBitbucketからビルド命令を出す際にIDとPasswordを埋め込まないようにする

Permalink

前の記事でBitbucketにpushしたのをトリガーにJenkinsでOctopressをデプロイするというのをやったのだが、このときは認証なしでJobの実行できるようになってしまっていた。
つまりこのままだと自分のJenkinsは認証なしで全てのJobが実行できてしまうという状態でよろしくない。
ひとつの解決索としてビルド命令用のユーザを作り、そのIDとPasswordをURLに直接埋め込んでしまうという方法も考えられるが、今回はそれを極力しない方向でがんばりたいと思う。

JenkinsにBitbucketからアクセスするためのユーザを追加

まずはBitbucketからJenkinsにアクセスする専用のユーザを作る。

※ ユーザの追加方法については このあたり を参照

今回は、bitbucket というユーザを追加した。

また、 Manage Jenkins -> Configure System で、

  • Access Control
    • Authorization
      • Matrix-based security
        • bitbucketユーザに JobRead だけチェック

Jenkins@さくらVPSにOctopressのデプロイを任せてみる はてなブックマーク - Jenkins@さくらVPSにOctopressのデプロイを任せてみる

Permalink

目的

Octopressで記事を書いたあと、 Bitbucketgit push origin source とするだけで Github Pages に勝手にデプロイされるようにする。

イメージ

  1. 自分はブログ記事を書き終わったら、Bitbucketに git push だけしてあとは放っておく
  2. Bitbucketは該当リポジトリが更新されると、さくらVPSのJenkinsのURLを叩く
  3. Jenkinsはそれを契機にBitbucketからファイル一式をcloneしてOctopresで記事を作成する
  4. Jenkinsは作成した記事をGithub Pagesにデプロイする

さくらVPSにJenkinsさんをインストールする はてなブックマーク - さくらVPSにJenkinsさんをインストールする

Permalink

JDKのインストール

Javaが未インストールならこちらから。

1
$ sudo yum install java-1.6.0-openjdk java-1.6.0-openjdk-devel

Jenkinsのインストール

基本的に 公式ページ に書いてあるとおりにするだけ。

1
2
3
$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
$ sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
$ sudo yum install jenkins

Octopressでソースコードの一部分だけを参照する はてなブックマーク - Octopressでソースコードの一部分だけを参照する

Permalink

おさらい:Octopressでソースコードを表示する

まずはおさらいでOctopressでソースコードを表示する方法は以下のとおり。

1. 指定のディレクトリにファイルを置く

置き場所は source/downloads/code
例えば、ここに sample/test.rb というファイルを置いておく。

1
2
$ mkdir -p source/downloads/code/sample
$ cp test.rb source/downloads/code/sample/