Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OSS Gate Workshop: Tokyo: 2019-12-14: dhirabayashi: Jenkins: Work log #1371

Closed
dhirabayashi opened this issue Dec 14, 2019 · 38 comments
Closed

Comments

@dhirabayashi
Copy link
Contributor

This is a work log of a "OSS Gate workshop".
"OSS Gate workshop" is an activity to increase OSS developers.
Here's been discussed in Japanese. Thanks.

作業ログ作成時の説明

以下のテンプレートを埋めてタイトルに設定します。埋め方例はスクロールすると見えてきます。

OSS Gate Workshop: ${LOCATION}: ${YEAR}-${MONTH}-${DAY}: ${ACCOUNT_NAME}: ${OSS_NAME}: Work log

タイトル例↓:

OSS Gate Workshop: Tokyo: 2017-01-16: kou: Rabbit: Work log

OSS Gateワークショップ関連情報

  • スライド:ワークショップの進行に使っているスライドがあります。
  • チャット:OSS開発に関することならなんでも相談できます。ワークショップが終わった後もオンラインで相談しながら継続的にOSSの開発に参加しましょう!
  • シナリオ:ワークショップの目的・内容・進め方の詳細が書いています。
  • 過去のビギナーの作業ログ:他の人の作業ログから学べることがいろいろあるはずです。
@satoryu
Copy link
Member

satoryu commented Dec 14, 2019

よろしくお願いします!

@dhirabayashi
Copy link
Contributor Author

公式サイトを見て、ユーザとしてJenkinsを動かす方法を探します。
https://jenkins.io/

@dhirabayashi
Copy link
Contributor Author

ドキュメントを見つけました。
https://jenkins.io/doc/

@dhirabayashi
Copy link
Contributor Author

Jenkinsをインストールする方法を探します。

@dhirabayashi
Copy link
Contributor Author

動かすのに使うマシンのOS、バージョン
macOS Mojave
バージョン10.14.6

@dhirabayashi
Copy link
Contributor Author

スタートガイドを見つけました。
https://jenkins.io/doc/pipeline/tour/getting-started/

@dhirabayashi
Copy link
Contributor Author

Jenkinsの動作要件を確認しました。
メモリ、ディスク容量、Java8(以降)のインストール
いずれも問題ないことを確認しました。

@dhirabayashi
Copy link
Contributor Author

Jenkinsのダウンロードを開始します。
http://mirrors.jenkins.io/war-stable/latest/jenkins.war

@dhirabayashi
Copy link
Contributor Author

ダウンロードして、ファイルを/Users/daiki/workに移動しました。
ターミナルを開きました。

@dhirabayashi
Copy link
Contributor Author

下記コマンドを実行したところ、エラーメッセージが出てJenkinsが起動しませんでした。
java -jar jenkins.war --httpPort=8080

12月 14, 2019 2:19:57 午後 Main verifyJavaVersion
重大: Running with Java class version 57 which is not in the list of supported versions: [52, 55]. Run with the --enable-future-java flag to enable such behavior. See https://jenkins.io/redirect/java-support/
java.lang.UnsupportedClassVersionError: 57.0
at Main.verifyJavaVersion(Main.java:174)
at Main.main(Main.java:142)

Jenkins requires Java versions [8, 11] but you are running with Java 13 from /Library/Java/JavaVirtualMachines/openjdk-13.jdk/Contents/Home
java.lang.UnsupportedClassVersionError: 57.0
at Main.verifyJavaVersion(Main.java:174)
at Main.main(Main.java:142)

@dhirabayashi
Copy link
Contributor Author

Java13では動かず、Java8かJava11でないと動かないという意味のエラーメッセージと思われるため、
Java11を入れてみます。

@dhirabayashi
Copy link
Contributor Author

下記コマンドでインストールを試みましたが、失敗しました。
brew cask install java11
エラーメッセージ
Error: Cask 'java11' is unavailable: No Cask with this name exists.

@dhirabayashi
Copy link
Contributor Author

https://qiita.com/seijikohara/items/56cc4ac83ef9d686fab2
こちらのサイトをもとに、Java11のインストールができました。

brew tap homebrew/cask-versions
brew cask install java11

@dhirabayashi
Copy link
Contributor Author

上と同じサイトの情報を元に、javaコマンドがJava11を指すようにしました。

export JAVA_HOME=/usr/libexec/java_home -v "11"
PATH=${JAVA_HOME}/bin:${PATH}

@dhirabayashi
Copy link
Contributor Author

再度下記のコマンドを実行しました。今度はエラーなく起動しました。
java -jar jenkins.war --httpPort=8080

@dhirabayashi
Copy link
Contributor Author

http://localhost:8080/ にアクセスしたところ、初期パスワードの入力を求められたため、
コンソールに表示された初期パスワードを入力して続行しました。
パスワードは書きません。

@dhirabayashi
Copy link
Contributor Author

下記のような記述がありますが、実際にはJava11でも動作しました。
Java 8 (either a JRE or Java Development Kit (JDK) is fine)

Java13だとエラーになりましたが、上記の説明からは読み取りづらいので、「Java8かJava11のどちらかで動作する。それ以外では動作しない」ということがわかりやすい説明文にしたほうがよさそうです。

@dhirabayashi
Copy link
Contributor Author

http://localhost:8080/
「Customize Jenkins」という画面で、プラグインをどのようにインストールするか訊かれました。
Install suggested plugins のほうを選びます。

@dhirabayashi
Copy link
Contributor Author

プラグインのインストールが完了し、Create First Admin Userの画面に遷移しました。
ユーザ名 hirabayashi、パスワード、フルネーム、メールアドレスを入力します。

@dhirabayashi
Copy link
Contributor Author

Instance Configuration の画面で、JenkinsのURLを設定します。
既定値 http://localhost:8080/ をそのまま使います。

@dhirabayashi
Copy link
Contributor Author

Jenkins is ready!の画面が出て、ボタンを押してJenkinsの設定が完了しました。

@dhirabayashi
Copy link
Contributor Author

https://jenkins.io/doc/pipeline/tour/hello-world/
上記URLに遷移しました。ここからパイプライン作成のチュートリアルに取り掛かります。

@tdtds
Copy link
Member

tdtds commented Dec 14, 2019

ふりかえりをしました。作業メモが詳細でとてもいいですね!
最初のフィードバックはチュートリアルにJava11の件を追加することになると思いますが、エラーメッセージを出してるコード部分を参照して矛盾や不足があることを併記すると受け入れやすくなる思います。

@dhirabayashi
Copy link
Contributor Author

https://jenkins.io/doc/pipeline/tour/getting-started/
上記の Prerequisites の The following software installed のところに「Java 8 (either a JRE or Java Development Kit (JDK) is fine)」と書かれています。しかし、これには1点問題があります。
それは、実際にはJava11でも動作するのにそのことが書かれていないことです。対象外のバージョンのJavaで動作させようとした時のエラーメッセージに「Jenkins requires Java versions [8, 11]」とJava11でも動作するかのような記述が含まれており、実際Java11でも動作しました。

@dhirabayashi
Copy link
Contributor Author

上記をフィードバックする方針です。
まず、Jenkinsのフィードバックの方法を調査します。

@dhirabayashi
Copy link
Contributor Author

https://jenkins.io/participate/document/
ドキュメントについてコントリビュートする方法が書かれていると思われるページを発見しました。

@dhirabayashi
Copy link
Contributor Author

https://github.com/jenkins-infra/jenkins.io/blob/master/CONTRIBUTING.adoc#newcomers
コントリビュート方法の詳細が書かれているページを発見しました。

@dhirabayashi
Copy link
Contributor Author

リポジトリをフォークして、ローカルにクローンしました。
git clone https://github.com/dhirabayashi/jenkins.io.git

@dhirabayashi
Copy link
Contributor Author

ローカルのクローンに修正を加えました。コミットメッセージを考えます。

@dhirabayashi
Copy link
Contributor Author

修正をコミット、プッシュしました。
コミットメッセージは「Modify the Java version.」としました。修正の詳細はPRの本文に記述するため、コミットメッセージは簡素でもよいと判断しました。

@dhirabayashi
Copy link
Contributor Author

プルリクエストの本文
日本語
JenkinsをJava 13で動かそうとしたところ、下記のエラーメッセージが表示されました。
Jenkins requires Java versions [8, 11]

Java 11で試したところ、動作しました。しかし、下記のドキュメントにはJava 8としか書かれていません。そこで、Java 11についても追記しました。
https://jenkins.io/doc/pipeline/tour/getting-started/

英語
When I tried to boot Jenkins with Java 13, I got the error message below.
Jenkins requires Java versions [8, 11]

When I tried to boot Jenkins with Java 11, there were no error messages.
But, the following documents are written only about Java 8. So I added Java 11 as well.
https://jenkins.io/doc/pipeline/tour/getting-started/

@dhirabayashi
Copy link
Contributor Author

プルリクエストを送りました。
jenkins-infra/jenkins.io#2714

@yuseitahara
Copy link
Contributor

フィードバックできましたね!!

@dhirabayashi
Copy link
Contributor Author

https://jenkins.io/doc/pipeline/tour/hello-world/
まだ時間があるため、Jenkinsのツアーの続きをやります。

@dhirabayashi
Copy link
Contributor Author

パイプラインの動作を確認するためのリポジトリを作成し、Jenkinsfileを追加しました。
https://github.com/dhirabayashi/jenkins_pipeline

JenkinsfileはとりあえずJava版をコピペしました。
https://jenkins.io/doc/pipeline/tour/hello-world/#examples

@dhirabayashi
Copy link
Contributor Author

手順の2〜5を実施し、パイプラインがエラーがなく動作することを確認しました。
ただ、ドキュメントは全部英語ですが、Jenkinsのほうは中途半端に日本語化されているため、ドキュメントに記載の画面項目が実際の画面項目ではどれに相当するのか見当をつけるのが少し面倒でした。

@dhirabayashi
Copy link
Contributor Author

続きのページに遷移しました。
https://jenkins.io/doc/pipeline/tour/running-multiple-steps/

@oss-gate-issue-cleaner
Copy link

おつかれさまでした!

後日引き続きワークショップがある場合

後日のワークショップで再開する際に、issueタイトルの日付を更新してreopenしてください!

ワークショップ終了後に続きがしたい場合

issueはクローズしますが、その後も作業を続けていただいて大丈夫です!

是非このissueを活用なさってください。

今後のイベントの案内

現在以下のイベントの開催を予定しています。

参加をお待ちしてます!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants