使用Jenkins/Jenkinsfile在Droplet中运行DDEV时如何获得Web访问权限?

wfauudbj  于 2023-02-03  发布在  Jenkins
关注(0)|答案(1)|浏览(143)

我用Jenkins/Docker/DDEV提供了一个droplet,这个想法是让Jenkins运行测试,并为多个web项目提供一个临时环境。每个web项目都已经使用DDEV作为本地开发环境。理想情况下,我想构建的是,让Jenkins从repo中提取,并在droplet上启动DDEV,提供临时环境。
到目前为止,我已经完成了上述所有工作,然而,我在网络配置上有一个位堆栈,以允许人们通过Web浏览器访问我的droplet来访问每个Jenkins构建。
下面是我的Jenkinsfile到目前为止,理想情况下,如果我可以设置网络在Jenkinsfile将是辉煌的。

pipeline {
  agent any
  stages {
    stage('Checkout') {
      steps {
        checkout scmGit(branches: [[name: '*/main']], extensions: [], userRemoteConfigs: [[credentialsId: 'jenkinsSSH', url: 'https://myrepo.git']])
      }
    }

    stage('Example') {
      steps {
        echo "Running ${env.BUILD_ID} on ${env.JENKINS_URL}"
        sh 'cd $WORKSPACE && ddev start'
      }
    }
      
    stage('Release') {
      steps {
        echo 'Ready to release etc.'
      }
    }

  }
}

我在谷歌上广泛地搜索了一下,以防其他人也尝试过类似的尝试。另外,我还看了一下Jenkins是否有这个任务的插件。我不能通过网络浏览器访问DDEV。

cyvaqqii

cyvaqqii1#

如果你想通过网络浏览器访问一个正在运行的DDEV项目,你必须用ddev config global --router-bind-all-ports打开它,然后处理名称解析。https://ddev.readthedocs.io/en/latest/users/topics/sharing/;中有关于这类事情的完整细节,你可能也会对https://ddev.readthedocs.io/en/latest/users/topics/hosting/中的完整共享解决方案感兴趣
还要注意,有一个GitHub操作可以帮助您进行此类测试,https://github.com/marketplace/actions/setup-ddev

相关问题