Adjust Jenkins for a Docker environment
Edit on GitHubFollow the steps to adjust the Jenkins scheduler to docker like environments:
- Update the scheduler configuration settings in src/Pyz/Zed/Scheduler/SchedulerDependencyProvider.php:
// ---------- Scheduler
$config[SchedulerConstants::ENABLED_SCHEDULERS] = [
    SchedulerConfig::SCHEDULER_JENKINS,
];
$config[SchedulerJenkinsConstants::JENKINS_CONFIGURATION] = [
    SchedulerConfig::SCHEDULER_JENKINS => [
        SchedulerJenkinsConfig::SCHEDULER_JENKINS_BASE_URL => 'http://' . getenv('SPRYKER_SCHEDULER_HOST') . ':' . getenv('SPRYKER_SCHEDULER_PORT') . '/',
    ],
];
$config[SchedulerJenkinsConstants::JENKINS_TEMPLATE_PATH] = getenv('SPRYKER_JENKINS_TEMPLATE_PATH');
- Using the example in src/Pyz/Zed/Scheduler/SchedulerDependencyProvider.php, put the template whereSPRYKER_JENKINS_TEMPLATE_PATHpoints to:
{% extends 'jenkins-job.default.xml.twig' %}
{% block setup %}{% endblock setup %}
{% block command %}<![CDATA[
    docker run -i --rm \
        your-image \
        -e APPLICATION_STORE={{ job.store }} \
        bash -c \
        "{{ job.command }}"
]]>{% endblock command %}
You can define additional store-specific variables if needed.
- Set up deployment, so that the following environment variables are set in the container where  console scheduler:setupis run:
- SPRYKER_SCHEDULER_HOST
- SPRYKER_SCHEDULER_PORT
- SPRYKER_JENKINS_TEMPLATE_PATH
Thank you!
For submitting the form