2016-02-20 [長年日記]

_ [つくる]jenkinsいろいろ

jenkinsサーバとgitリポジトリサーバがある。 git pushをhookしてant buildしたかったので、

  • jenkinsユーザをgitリポジトリサーバに作った
  • jenkinsサーバからgitリポジトリサーバに入れないと困るので公開鍵を作った
  • 鍵をjenkinsの画面から登録した
  • gitリポジトリサーバのhooks/post-receiveに、curl jenkinsサーバ/job... と書いた。

とした。

_ [つくる][Java]jarにバージョン番号を埋める

で、antすると実行可能jarを吐く。 jenkinsの「ビルド後の処理」とやらでjarをテストマシンにftpで投げるようにしてある。 そこで、jarが自身のバージョン番号を吐けるように番号を自動で埋め込みたい。

すげえ試行錯誤したが、こうした。antのreplaceタスクがキモ。 なお、git describe --always --tags HEAD の出力をバージョン番号としている。

public class MyVersion{
        public static String myVersion="VERSION";
}
public class MyGoodApp{
        public static void main(String[] args){
              System.out.println(MyVersion.myVersion);
              ...

build.xml

<target name="git.revision" description="Store git revision in ${repository.version}" >
          <exec executable="git" outputproperty="git.revision" failifexecutionfails="false" errorproperty="">
                <arg value="describe"/>
                <arg value="--tags"/>
                <arg value="--always"/>
                <arg value="HEAD"/>
          </exec>
          <echo message="${git.revision}"/>
          <replace dir="src" token="VERSION" value="${git.revision}">
                <include name="**/MyVersion.java" />
          </replace>
</target>

ここまでで、「pushするとバージョン埋めたjarが勝手にテストマシンに乗っかる」 が実現。今日の天気でも昼飯でも何でも埋められるな。 しかしローカルでant buildしただけでMyVersion.javaの中身が変わってしまい、gitがそれに反応する。ローカルの変更は無視、破棄したい。バージョン管理システムなのにそんなこと出来んのか?



できた。何でもあるもんやなあ。 http://qiita.com/usamik26/items/56d0d3ba7a1300625f92

git update-index --assume-unchanged [ファイル名] この設定はリポジトリには残らない(git reset --hard)で消えるらしいが、まあ設定飛んでも絶対気づく。設定方法は出てこないかもしれないww

もっと王道な方法があると思うので教えてもらいたい…

_ [git]リモートリポジトリの履歴を消す

masterをぶち切って途中のコミットから再度originにmasterを作れた。もうやりたくない。 originのmasterを消すという発想はなかった。ブランチ名もただのリファレンスだな。


検索キーワード:

記事

  • 2019-01-25
    • 1. [Gadget][bluetooth]BTイヤホン
  • 2019-01-07
    • 1. [etc]できないことの例え
  • 2019-01-03
    • 1. [etc]年末年始休暇
  • 2018-12-30
    • 1. [ラズパイ]WHの設定
    • 2. [unix]脱ifconfig
    • 3. [Windows]1809をインストール
  • 2018-12-08
    • 1. [etc]業務引継時のレベルの問題
    • 2. [マネー]PayPay100億円は、まだ枯渇していない!

カテゴリ

Amazon | Android | apache | Arduino | bash | bluetooth | Books | CakePHP | CakePHP3 | Chrome | CSS | Docker | Eclipse | Emacs | etc | Firefox | Flask | Gadget | git | Google | Heroku | HTML | Internet | iPhone | IS01 | IS03 | Java | JavaScript | json | Kotlin | magento | mysql | nginx | nodejs | Oops | PC | Perl | php | Python | Qt | Ruby | ruby | Shell | tdiary | twitter | ubuntu | unix | Web | Windows | windows | WindowsMobile | WX5 | YAML | zsh | ここか | そば | つくる | つり | できごと | アクアリウム | ギター | セキュリティ | プリンタ | ボクシング | ポエム | マネー | メシ | ラズパイ | 仕事 | 作家 | 壮絶 | 妄想 | 忘れる | 料理 | | 暑い | 痛い | 社会 | 自転車 | | 車輪 | | 野球 | 銭湯 | 音楽 |

全部 : / 今日 :

近頃

links

profile

もっとヒゲ伸ばしたい。