docker部署单节点Jenkins实现一个自由风格的devops

一、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

 去任务配置中添加构建后配置

 重新构建,成功后测试接口

猜你喜欢

转载自blog.csdn.net/m0_68705273/article/details/130259701
今日推荐