提前條件:
1、在Jenkins服務器上安裝Git、JDK和Maven
2、准備另一台服務器並安裝Tomcat
3、Gitlab服務器
4、Gitlab倉庫中上傳SpringBoot項目代碼
第一步,Jenkins中配置JDK和Maven
1、配置JDK
2、配置Maven
第二步,在freestyle job中配置git和Maven
第三步,修改SpringBoot項目配置
1、項目入口類繼承 SpringBootServletInitializer 並實現 configure方法
@SpringBootApplication
public class HotApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(HotApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(HotApplication.class, args);
}
}
2、Pom.xml排除tomcat容器
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
第四步,在Jenkins中構建SpringBoot項目
1、安裝Publish over SSH插件
2、在“系統設置”中添加"Publish over SSH"主機,在高級選項中有用戶名和密碼配置
3、在構建中添加“Send files or execute commands over ssh”
4、所有配置以完成,點擊該Job任務的“立即構建”
第五步,驗證效果
訪問Tomcat服務器URL + 項目名稱
總結:
1、Jenkins可以通過Web Hook監控gitlab中該項目git push動作,從而實現gitlab倉庫代碼更新后自動觸發Jenkins構建;
2、如果是比較復雜的項目部署,Jenkins可以調用ansible,通過ansible執行playbook來完成更加復雜的自動部署。