LoginSignup
8
8

More than 5 years have passed since last update.

JenkinsとGitLabの連携

Last updated at Posted at 2014-10-30

実現すること

  • GitLabのGitにはhttpsでアクセス
  • GitLabにはssh公開鍵は登録しない

手順

Jenkins機で作業する前に、ローカルのvagrantにて実施。
まず普通にやろうとすると、以下のようにRuntimeExceptionが出る。

runtimeex.png

Jenkinsが動いているJavaにGitLabの証明書を登録する。
まず、Jenkinsが動いているJavaを確認。

[root@localhost ~]# ps auxw|grep jenkins
jenkins   6051 13.6 27.3 2001624 278948 ?      Ssl  00:44   1:29 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -Dhudson.util.ProcessTree.disable=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --ajp13Port=8009 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20 --prefix=/jenkins
root      6141  0.0  0.0 107460   940 pts/0    S+   00:55   0:00 grep jenkins

keytoolを使ってGitLabの証明書を登録する。尚、cerでもpemでもどちらでも良い。

[root@localhost ~]# ll /etc/alternatives/java
lrwxrwxrwx 1 root root 46 10月 29 04:05 2014 /etc/alternatives/java -> /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
[root@localhost ~]# cd /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/
[root@localhost bin]# keytool -importcert -v -trustcacerts -file /vagrant/Downloads/gitlabkey/cacert.cer -keystore ../lib/security/jssecacerts -alias gitlab
キーストアのパスワードを入力してください:
新規パスワードを再入力してください:
.
.
証明書がキーストアに追加されました

この時点で試してみると、エラーが以下のように変化した。
caerror.png

JENKINS_HOME(/var/lib/jenkins)に.gitconfigを作成する。
尚、GitLabのpemもここに置いた。

[http]
  sslcainfo=/var/lib/jenkins/gitlab.pem

この時点でエラーは401 Unauthorizedだけになるので、Credentialsを追加する。
401err.png

スクリーンショット 2014-10-30 11.28.50.png

これでエラーは解消し、リポジトリからclone出来るようになった。
ok.png

参考

8
8
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
8
8