一、docker compose安装Jenkins
1、编写docker-compose.yml文件
新建/usr/local/docker/jenkins包,在此包下新建docker-compose.yml文件
注:最好是在/usr/local下新建,之前在/下新建,项目打包报错
version: '3.1'
services:
jenkins:
image: jenkins/jenkins:2.350-jdk8
container_name: jenkins
ports:
- 8080:8080
- 50000:50000
volumes:
- ./data/:/var/jenkins_home/
2、 启动容器
docker-compose up -d
第一次启动后,会发现抛出一个permission的错误,在写入log日志到/var/jenkins_home/时,没有权限,因为宿主机的数据源不允许其他用户写入。给数据卷data复制w权限:
chmod a+w data
再次启动容器
docker-compose up -d
需要稍微等一会,看到Jenkins的首页
首页的密码需要从容器的日志中查看。
docker logs
输入密码后,继续,然后需要指定选择安装插件的方式
安装插件(听天由命)
指定用户
最终查看到Jenkins的首页
二、Jenkins安装git、ssh插件
在系统管理-插件管理,添加需要的插件
1、安装Git Parameter插件
2、安装publish over ssh插件
点install without restart
配置ssh,系统管理-系统配置
Remote Directory为传输到的包路径
三、Jenkins配置jdk、maven
将maven和jdk8的tar.gz文件放入/usr/local/docker/jenkins/data文件中
解压并修改名称
tar -zxvf apache-maven-3.9.1-bin.tar.gz
mv apache-maven-3.9.1 maven-3.9.1
tar -zxvf jdk-8u371-linux-x64.tar.gz
mv jdk1.8.0_371 jdk8
配置Maven的settings.xml(在conf文件中)
<!-- 阿里云镜像地址 -->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<!-- JDK1.8编译插件 -->
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
将jdk和maven配置到Jenkins中,在系统配置-全局工具配置
注:设置路径是不要忘了最前面的/
点击应用保存
四、新建任务进行打包测试
选择第一个,点击确定
配置代码仓库
配置maven
点击立即构建
构建的jar包在workspace包下
五、部署项目
项目中和src同级新建docker包,报下新建docker-compose.yml和Dockerfile文件
docker-compose.yml文件
version: '3.1' services: filter-demo: build: ./ image: filter-demo:v1.0.0 container_name: filter-demo ports: - 8081:8081
Dockerfile文件
FROM eclipse/centos_jdk8 COPY filter-demo-0.0.1-SNAPSHOT.jar /usr/local/ WORKDIR /usr/local/ CMD java -jar filter-demo-0.0.1-SNAPSHOT.jar
去任务配置中添加构建后配置
重新构建,成功后测试接口