はじめに
記載情報は CI/CD に関連します。
実務上関わった環境・機能を身近な情報としてお届けしたく、投稿をはじめました。
各学習上、お金のかからない方法を選択していきます。
以下の手順を実施することで、アプリケーション開発者がライブラリ開発者より指定されたバージョンを利用してアプリケーションを作る工程を模倣します。
対象者と関連環境・機能
この記事は下記のような人を対象にしています。
- CI/CD 初学者
- プログラミング初学者
- 駆け出しエンジニア
記載している環境・機能は以下です。
- Java
- Spring Boot
- Spring Web
- Spring Tool Suite 4
- Gradle
- Azure DevOps
- Azure Artifacts
準備
No | 参照 URL |
---|---|
1 | Azure Devops (Artifacts) を無償、無料で使う |
2 | Jar を作り、Azure Artifacts を利用して成果物を配布する |
ライブラリ利用
ソース
本作業実施後の状態となります。
ライブラリ利用
最新はこちらとなりますが、clone 後に状態を遡って確認頂けます。
main の最新
実施した作業
発生差分は実物を確認してもらう方が早いかもしれません。
概要としては以下
- ビルド時の依存対象として、ライブラリを指定
build.gradle
dependencies {
implementation 'LibraryJar-groupId:library-jar:0.0.2'
- Jar を作り、Azure Artifacts を利用して成果物を配布する の対応と同様に、取得用のトークンの取得と設定を行います。
build.gradle
allprojects {
repositories {
maven {
url 'https://pkgs.dev.azure.com/SecOrgOad3/cicd-training-env/_packaging/cicd-training-env-feed-001/maven/v1'
credentials {
username "cicd-training-env-feed-001"
password System.getenv("SYSTEM_ACCESSTOKEN") != null ? System.getenv("SYSTEM_ACCESSTOKEN") : vstsMavenAccessToken
}
}
}
}
- Spring Web アプリにてライブラリを利用
build.gradle
application-springboot>gradlew bootRun
> Task :bootRun
========================================= ※
Hello LibraryJar! ※ここが出てれば想定通り
========================================= ※
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.6.7)
2022-05-14 07:50:17.133 INFO 12828 --- [ main] com.example.demo.DemoApplication : Starting DemoApplication using Java 11.0.2 on senju-HP with PID 12828 (\application-springboot\build\classes\java\main started by senju in \application-springboot)
2022-05-14 07:50:17.133 INFO 12828 --- [ main] com.example.demo.DemoApplication : No active profile set, falling back to 1 default profile: "default"
2022-05-14 07:50:18.289 INFO 12828 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2022-05-14 07:50:18.305 INFO 12828 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2022-05-14 07:50:18.305 INFO 12828 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.62]
2022-05-14 07:50:18.414 INFO 12828 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2022-05-14 07:50:18.414 INFO 12828 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1234 ms
2022-05-14 07:50:18.664 INFO 12828 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page template: index
2022-05-14 07:50:18.789 INFO 12828 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2022-05-14 07:50:18.805 INFO 12828 --- [ main] com.example.demo.DemoApplication : Started DemoApplication in 2.139 seconds (JVM running for 2.633)
関連記事
- CI/CD とは?
- Azure Devops (Artifacts) を無償、無料で使う
- Spring Tool Suite 4 インストール、Spring Initializr 、gradlew の利用
- Spring Boot Web アプリケーションを作る
- Jar の Library を作り、Azure Artifacts を利用して成果物を配布する
- ライブラリ開発者より指定されたバージョンを利用してアプリを作る
- アプリを Docker 、Docker Compose でコンテナを動かしてみる
- Azure Devops (PileLines) を無償、無料で使う
- Azure Devops (PileLines) でテスト、ビルド、イメージプッシュをする
- minikube(kubernetes) でコンテナを動かしてみる
- nginx のコンテナを Docker や minikube(kubernetes) で動かし、静的コンテンツ公開工程を模倣