3. 部署 Maven 项目
点击 New Item 新建任务,随意输入任务名,选择 Maven project, ok。
在General,勾选 Discard old builds,可以设置最多保留构建文件多少天,和最多保留多少个构建文件,不然每次构建生成的文件都会保留,占用磁盘空间。
配置远程代码仓库地址,Jenkins 会从该地址拉取代码。注意此处如果提示无法读取仓库,有可能是:
- 公钥没有添加到远程代码服务器的 authorized_keys 文件里,上面配置 SSH 免登录是 Jenkins 访问应用服务器的,Jenkins 访问代码服务器也同样需要配置,除非应用服务器和代码服务器是同一台机器。如果使用码云或 GitHub 等代码托管平台,会有相应的 SSH key 设置页。
- 公钥已添加到相应文件里,但没有手动连接第一次。解决方法很简单,以 jenkins 用户身份手动 clone 一次仓库,确认 yes 即可。
勾选 Add timestamps to the Console Output
,在控制台输出构建过程。
填写 Maven 打包指令,-DMaven.test.skip=true 表示跳过测试。
#标准打包命令:
mvn clean package -pl order-management-consumer -Pprod -am -amd -Dmaven.test.skip=true
命令 | 作用 |
---|---|
clean package | 清理原包 |
-pl xxx | 选项后跟随{groupId}:{artifactId}或者所选模块的相对路径(多个模块以逗号分隔) |
-Pprod/test... | pom.xml文件下,在<profiles>指定的<id>中,找到对应的对象值 |
-am | 表示同时处理选定模块所依赖的模块 |
-amd | 表示同时处理依赖选定模块的模块 |
-Dmaven.test.skip=true | 不执行测试用例,也不编译测试用例类 |
勾选 Run only if build succeeds
,选择 Send files or execute commands over SSH
。
接下来就是设置 build 完之后,把 jar 包从 Jenkins 服务器拷贝到应用服务器上,并运行。
Name:选择之前创建的服务。
Source files:maven 打包后生成的 jar 包,即要拷贝到应用服务器运行的程序,可填多个,英文逗号分隔。
Remove prefix:忽略前缀,我们只需要拷贝 target 下的 jar 包,不需要在应用服务器上生成 target 目录。
Remote directory:目标文件夹,会继承全局设置,例如此处会把 jar 包拷贝到 /usr/local/app/demo 目录下。
Exec command:拷贝完成后,在应用服务器上执行的命令或脚本。
save
-> build now
,构建成功后,打开浏览器访问你的站点吧