marine simpleName 対応#56
Conversation
|
以下はmappings.ymlとマッチしているものが見当たらなかったため、そのままとしています。 marine/contents/sample/ai/track.yml Line 11 in 8efafd9 marine/docs/ja/how-to-make-ai.md Line 146 in 8efafd9 |
Syogo-Suganoya
left a comment
There was a problem hiding this comment.
@snakazawa review me
| - imageName: givery/track-nodejs-8 | ||
| - imageName: nodejs | ||
|
|
||
| ### hint | ||
| JavaScript(Node.js)を使用するセクションを作成する際にはDockerイメージとして`givery/track-nodejs-8`を使用します。 | ||
| JavaScript(Node.js)を使用するセクションを作成する際にはDockerイメージとして`nodejs`を使用します。 |
There was a problem hiding this comment.
チャレンジやブックの
imageNameの修正
| ### build.gradle | ||
| このサンプルではTestRunnerとしてGradleを使用しています。 | ||
| [build.gradle](build.grade)はテストの実行結果を[TAP](https://testanything.org/)形式で出力するようにカスタマイズされています。 | ||
| [build.gradle](build.gradle)はテストの実行結果を[TAP](https://testanything.org/)形式で出力するようにカスタマイズされています。 |
|
|
||
| dependencies { | ||
| testCompile 'junit:junit:4.12' | ||
| implementation group: 'junit', name: 'junit', version: '4.13.2' |
There was a problem hiding this comment.
gradleの compile の書き方が変更されたので、併せて修正しました。
There was a problem hiding this comment.
javaのチャレンジってmavenじゃなくてgradleで作るように案内してるんでしたっけ?
gradleの方がversionセンシティブな気がするので、注意が必要です。
この設定がMarine(=OrcaImages 2.1.1)で動くことは多分確認していると思うんですが、現時点でのprodイメージであるOrcaImages2.0.2でも動くかを確認してください。(imageName: givery/track-cli-java:2.0.2としてMarineで動作するかも確認してください。)
また、バージョン番号が明記されている点も気になります。
maven, gradle, junitなどはOrcaImagesにpre-installされています。
なので、installされているバージョンが使用される場合はbuildも高速に動作するんですが、異なるバージョンが使用される場合初回実行でdownloadが走るので、パフォーマンス的に不利になります。(2回目以降の実行ではキャッシュが使えるので実行速度上の不利はありませんが、ブラウザでリロードするとまたdownloadからになります。)
この辺環境変数を活用する方法もあるようなので、
https://docs.gradle.org/current/userguide/build_environment.html#sec:project_properties
次にOrcaImagesを作るときはこの辺の環境変数も合わせて設定した方が良いかもしれません。
| secret: 1 | ||
| envConf: | ||
| imageName: givery/track-java-8 | ||
| imageName: java |
There was a problem hiding this comment.
contents/sample/coding-java/ はコンテンツ作成マニュアルに使用するサンプルですが、notionの方も併せて修正しました。
https://www.notion.so/givery/c71f8d3ba35a45a08c25c73666ed4fc1
また、マニュアルに使用予定の未マージの下記プルリクのイメージも併せて修正しました。
| <DOTNET_FRAMEWORK_VERSION Condition=" '$(DOTNET_FRAMEWORK_VERSION)' == '' ">net6.0</DOTNET_FRAMEWORK_VERSION> | ||
| <OutputType>Exe</OutputType> | ||
| <TargetFramework>net6.0</TargetFramework> | ||
| <TargetFramework>$(DOTNET_FRAMEWORK_VERSION)</TargetFramework> | ||
| <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles> | ||
| <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> | ||
| <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> |
There was a problem hiding this comment.
チャレンジやブックの C#のcsprojの修正
| - givery/track-rust-1.39 | ||
| - givery/track-haskell-14.11 | ||
| - givery/track-python3.7-anaconda | ||
| - cpp |
There was a problem hiding this comment.
image リストの修正(env.yml)
| これらのイメージは[DockerHub](https://hub.docker.com/u/givery)で公開されているイメージと次のようにマッピングされています。`cacheDirs`などを含んだマッピングではデフォルトでその設定が反映されます。例えば`java`イメージを使用する時、envConfに`cacheDirs`を記載しなくても、自動で`cacheDirs`に`/root/.m2`の設定が反映されます。 | ||
|
|
||
| <details><summary>イメージのマッピング(クリックして展開)</summary> |
There was a problem hiding this comment.
| ### イメージのバージョンについて | ||
| イメージは自動で最新に保たれます。envConfを逐一更新する必要はありません。 |
There was a problem hiding this comment.
バージョンが最新に保たれる(チャレンジを更新しなくても勝手に変わる)旨の追記
| ### C#の注意事項 | ||
| C#に使用するcsprojファイルの`PropertyGroup`には以下の設定を記載してください。バージョンが変わっても動作するようにするためです。 |
There was a problem hiding this comment.
C#に関して注意事項の追記
| #### バージョンの依存について | ||
| バージョンに依存するライブラリを利用している場合はご相談ください。 |
There was a problem hiding this comment.
dotnet のバージョンに依存するライブラリを利用している場合はこれだけだと動かなくなる可能性があるためご相談ください。
バージョンの依存についても追記しました。
| - perl | ||
| - php | ||
| - python | ||
| - python3 |
There was a problem hiding this comment.
pythonとpython3はどちらも同じイメージ(python3)が使われます。
(SimpleNameではpython2はサポートされません)
There was a problem hiding this comment.
以下の書き方に修正しました。
- python
- `python3`でも可能です。どちらも同じ `givery/track-cli-python3` のイメージが使用されます。| username: "postgres" | ||
| baseDir: "/home/postgres" | ||
| ``` No newline at end of file | ||
| ``` |
There was a problem hiding this comment.
imageName: postgresとした場合はusernameとbaseDirの指定は必要なくなりました。
There was a problem hiding this comment.
「postgresの注意事項」のセクションを削除しました。
|
|
||
| dependencies { | ||
| testCompile 'junit:junit:4.12' | ||
| implementation group: 'junit', name: 'junit', version: '4.13.2' |
There was a problem hiding this comment.
javaのチャレンジってmavenじゃなくてgradleで作るように案内してるんでしたっけ?
gradleの方がversionセンシティブな気がするので、注意が必要です。
この設定がMarine(=OrcaImages 2.1.1)で動くことは多分確認していると思うんですが、現時点でのprodイメージであるOrcaImages2.0.2でも動くかを確認してください。(imageName: givery/track-cli-java:2.0.2としてMarineで動作するかも確認してください。)
また、バージョン番号が明記されている点も気になります。
maven, gradle, junitなどはOrcaImagesにpre-installされています。
なので、installされているバージョンが使用される場合はbuildも高速に動作するんですが、異なるバージョンが使用される場合初回実行でdownloadが走るので、パフォーマンス的に不利になります。(2回目以降の実行ではキャッシュが使えるので実行速度上の不利はありませんが、ブラウザでリロードするとまたdownloadからになります。)
この辺環境変数を活用する方法もあるようなので、
https://docs.gradle.org/current/userguide/build_environment.html#sec:project_properties
次にOrcaImagesを作るときはこの辺の環境変数も合わせて設定した方が良いかもしれません。
Syogo-Suganoya
left a comment
There was a problem hiding this comment.
@shunjikonishi review me
javaのチャレンジってmavenじゃなくてgradleで作るように案内してるんでしたっけ?
metatestを使わずに済むという点からgradleを採用しました。詳しくはこちら↓を参照ください。
#49
OrcaImages2.0.2でも動くかを確認してください。
正常に動作することを確認しました。
この辺環境変数を活用する方法もあるようなので、
すみません環境変数などは疎いので、一旦保留としました。
| - perl | ||
| - php | ||
| - python | ||
| - python3 |
There was a problem hiding this comment.
以下の書き方に修正しました。
- python
- `python3`でも可能です。どちらも同じ `givery/track-cli-python3` のイメージが使用されます。| username: "postgres" | ||
| baseDir: "/home/postgres" | ||
| ``` No newline at end of file | ||
| ``` |
There was a problem hiding this comment.
「postgresの注意事項」のセクションを削除しました。
|
|
||
| dependencies { | ||
| implementation group: 'junit', name: 'junit', version: '4.13.2' | ||
| implementation group: 'junit', name: 'junit', version: '4.+' |
There was a problem hiding this comment.
バージョン番号が明記されている点も気になります。
バージョンはJunit4のみを指定して、それ以下はワイルドにしました。
shunjikonishi
left a comment
There was a problem hiding this comment.
LGTM
mappings.ymlの内容をまるごと転記しているのが少し気になりましたが、一旦このままでOKです。
最終的には社外のコンテンツ開発者が指定するのはimageNameだけにしたいと思っており、今のsimpleNameでほぼ実現できているとも思っています。
なので、cacheDirsとかworkingDirみたいな内容が説明なしででてくるのは微妙かなと思ったり、mappings.ymlが変わった時に追随するの面倒じゃないかな、と思ったりもするんですが秘密情報ではないし、テスト実行の仕組みを深く知る上では有益な情報でもあるのでとりあえずはこれでOKとします。
imageNameの修正