LoginSignup
7
4

More than 5 years have passed since last update.

jenkins勉強会で学んだメモ殴り書き

Last updated at Posted at 2018-03-05

jenkins スライド

結論から言うと

  1. cronの置き換えは向いてない
  2. - 冗長化できないから
  3. - 死んでもいい事に使う
  4. マウスクリックで発動したいジョブに使う
  5. - うちの運用だとあまりない

パラメータ=変数、パイプライン内で使える。

Pipeline script from SCM で git管理下のjenkinsfileを実行。

ifとかloopも書きまくり

sh 'docker run...' もしちゃう

docker imageでCI

実行フォルダがimageないじゃなくて?ホスト側になる?不思議仕様に注意とのこと

image名にパラメータを使ってますな。

pipelineの中で docker run してから作業する、というのはアリかも。

docker on jenkins on docker で使う。 docker.sock使って。

java コマンド叩けば閉鎖空間でもnodeになれる

slaveからmasterに行くのでポートいらず、ワン・コマンド、サービス化可能、接続コマンドはjenkinsインストールし直さない限り変わらない

ノードの管理 > コマンド発行 > agent.jar を落とす → java runコマンド叩く

serverからkickするシーンでも、slaveから取りに来て蹴り始めるのでmaster->agentのpush通信は一切いらない

agent imageこれかな?

jenkinsのパイプラインの言語はDSLと呼ばれるタイプのやーつ

DSL(Domain Specific Language)は,ドメイン固有言語と訳されてます。DSLは,Java,C#などの汎用言語とは違い,ある特定の種類の問題に特化したコンピュータ言語です。

http://gihyo.jp/admin/feature/01/dsl/0001

javaのgroovyとかだって

docker コンテナからdocker psする方法

2つの合わせ技

これと
https://stackoverflow.com/questions/45121945/jenkins-in-docker-container-run-docker-pipeline

      && apt-get install -y sudo libltdl-dev

これで

 -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker

できる!

cronの代替rundeck

冗長化は複数ソフトの組み合わせ+お手製でかなりつらそう

Corosync と Pacemaker をセットアップしていきたいと思います。

https://dev.classmethod.jp/server-side/server/try-rundeck-job/
エージェントレス

SSH接続できればジョブを実行できます。

CIスクショ

http://blog.mobming839.net/entry/2017/12/02/223839

# selenium_test.py を実行する
docker exec selenium_test python3 selenium_test.py https://www.google.co.jp/ screenshot.png
# スクリーンショットファイルをホスト側にコピーする
docker cp selenium_test:/screenshot.png .

docker-selenium 使って見た

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4