jenkins 如何在docker-compose.yml中正确设置共享卷?

qlckcl4x  于 2023-03-07  发布在  Jenkins
关注(0)|答案(1)|浏览(204)

任务:

  • 在AWS服务器上设置jenkins并在作业中执行自动化测试

步骤:

  • 我创建了docker-compose. yml并在服务器上启动:
version: '3'

services:
  jenkins:
    image: jenkins/jenkins:lts
    ports:
      - "8080:8080"
      - "22:22"
      - "443:443"

    volumes:
      - jenkins_data:/var/jenkins_home
      - /home/user/.ssh:/var/jenkins_home/.ssh 
    depends_on:
      - java

  java:
    image: openjdk:17-jdk
    volumes:
      - ./my-java-project:/app
      - jenkins_data:/var/jenkins_home <------- updated
    working_dir: /app
    command: tail -f /dev/null

volumes:
  jenkins_data:
  • 我成功地用ec2-ip:8080启动了jenkins

现在我们可以继续gitlab集成步骤:

  • 所以我在工作中创造并建立了联系
  • 添加Git作为源代码管理
  • 我执行作业后,一切看起来都很好,但项目成功下载到内部/var/jenkins_home/...文件夹,而不是服务器,我无法在以下内容中使用此项目(从Java Docker容器)

如何在docker-compose.yml中正确设置共享卷?
其他信息:my-java-project文件夹将创建在服务器的主目录中(完整路径:/home/ec2-user/jenkins/my-java-project),但作业执行后此文件夹为空

bvpmtnay

bvpmtnay1#

您可以只在多个Docker容器上挂载同一个卷并创建共享存储。

version: '3'

services:
  jenkins:
    image: jenkins/jenkins:lts
    ports:
      - "8080:8080"
      - "22:22"
      - "443:443"

    volumes:
      - jenkins_data:/var/jenkins_home
      - /home/user/.ssh:/var/jenkins_home/.ssh 
    depends_on:
      - java

  java:
    image: openjdk:17-jdk
    volumes:
      - ./my-java-project:/app
      - jenkins_data:/var/jenkins_home  # <------- add this
    working_dir: /app
    command: tail -f /dev/null

volumes:
  jenkins_data:

相关问题