<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CI/CD Generators on DevOps-OS</title><link>https://chefgs.github.io/devops_os_mcp/docs/ci-cd/</link><description>Recent content in CI/CD Generators on DevOps-OS</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://chefgs.github.io/devops_os_mcp/docs/ci-cd/index.xml" rel="self" type="application/rss+xml"/><item><title>GitHub Actions</title><link>https://chefgs.github.io/devops_os_mcp/docs/ci-cd/github-actions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://chefgs.github.io/devops_os_mcp/docs/ci-cd/github-actions/</guid><description>&lt;h1 id="github-actions-workflow-generator">GitHub Actions Workflow Generator&lt;a class="anchor" href="#github-actions-workflow-generator">#&lt;/a>&lt;/h1>
&lt;p>The GitHub Actions generator creates YAML workflow files that orchestrate CI/CD processes using GitHub&amp;rsquo;s built-in action system. Workflows leverage the DevOps-OS container for a consistent build environment.&lt;/p>
&lt;hr>
&lt;h2 id="basic-usage">Basic Usage&lt;a class="anchor" href="#basic-usage">#&lt;/a>&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">python -m cli.devopsos scaffold gha --name &lt;span class="s2">&amp;#34;my-app&amp;#34;&lt;/span> --type complete&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Output:&lt;/strong> &lt;code>.github/workflows/my-app-complete.yml&lt;/code>&lt;/p>
&lt;p>The filename pattern is &lt;code>&amp;lt;name-hyphenated&amp;gt;-&amp;lt;type&amp;gt;.yml&lt;/code> inside the output directory.&lt;br>
Change the output directory with &lt;code>--output &amp;lt;dir&amp;gt;&lt;/code> (default: &lt;code>.github/workflows/&lt;/code>).&lt;/p>
&lt;hr>
&lt;h2 id="options">Options&lt;a class="anchor" href="#options">#&lt;/a>&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Option&lt;/th>
 &lt;th>Default&lt;/th>
 &lt;th>Description&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>--name NAME&lt;/code>&lt;/td>
 &lt;td>&lt;code>DevOps-OS&lt;/code>&lt;/td>
 &lt;td>Workflow name&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--type TYPE&lt;/code>&lt;/td>
 &lt;td>&lt;code>complete&lt;/code>&lt;/td>
 &lt;td>&lt;code>build&lt;/code> | &lt;code>test&lt;/code> | &lt;code>deploy&lt;/code> | &lt;code>complete&lt;/code> | &lt;code>reusable&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--languages LANGS&lt;/code>&lt;/td>
 &lt;td>&lt;code>python,javascript&lt;/code>&lt;/td>
 &lt;td>Comma-separated: &lt;code>python&lt;/code>, &lt;code>java&lt;/code>, &lt;code>javascript&lt;/code>, &lt;code>go&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--kubernetes&lt;/code>&lt;/td>
 &lt;td>off&lt;/td>
 &lt;td>Include Kubernetes deployment steps&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--registry URL&lt;/code>&lt;/td>
 &lt;td>&lt;code>ghcr.io&lt;/code>&lt;/td>
 &lt;td>Container registry URL&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--k8s-method METHOD&lt;/code>&lt;/td>
 &lt;td>&lt;code>kubectl&lt;/code>&lt;/td>
 &lt;td>&lt;code>kubectl&lt;/code> | &lt;code>kustomize&lt;/code> | &lt;code>argocd&lt;/code> | &lt;code>flux&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--output DIR&lt;/code>&lt;/td>
 &lt;td>&lt;code>.github/workflows&lt;/code>&lt;/td>
 &lt;td>Output directory&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--custom-values FILE&lt;/code>&lt;/td>
 &lt;td>&lt;em>(none)&lt;/em>&lt;/td>
 &lt;td>Path to custom values JSON file&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--image IMAGE&lt;/code>&lt;/td>
 &lt;td>&lt;code>ghcr.io/yourorg/devops-os:latest&lt;/code>&lt;/td>
 &lt;td>DevOps-OS container image&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--branches BRANCHES&lt;/code>&lt;/td>
 &lt;td>&lt;code>main&lt;/code>&lt;/td>
 &lt;td>Comma-separated branches that trigger the workflow&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--matrix&lt;/code>&lt;/td>
 &lt;td>off&lt;/td>
 &lt;td>Enable matrix builds across OS/architectures&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--env-file FILE&lt;/code>&lt;/td>
 &lt;td>&lt;em>(cli dir)&lt;/em>&lt;/td>
 &lt;td>Path to &lt;code>devcontainer.env.json&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--reusable&lt;/code>&lt;/td>
 &lt;td>off&lt;/td>
 &lt;td>Generate a reusable workflow&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="workflow-types">Workflow Types&lt;a class="anchor" href="#workflow-types">#&lt;/a>&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Type&lt;/th>
 &lt;th>Description&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>build&lt;/code>&lt;/td>
 &lt;td>Focuses on building and packaging your application&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>test&lt;/code>&lt;/td>
 &lt;td>Focuses on running tests&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>deploy&lt;/code>&lt;/td>
 &lt;td>Focuses on deploying to the target environment&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>complete&lt;/code>&lt;/td>
 &lt;td>Combines build, test, and deploy stages&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>reusable&lt;/code>&lt;/td>
 &lt;td>Creates a workflow callable from other workflows&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="examples">Examples&lt;a class="anchor" href="#examples">#&lt;/a>&lt;/h2>
&lt;h3 id="python-application--complete-pipeline">Python application — complete pipeline&lt;a class="anchor" href="#python-application--complete-pipeline">#&lt;/a>&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">python -m cli.devopsos scaffold gha --name &lt;span class="s2">&amp;#34;Python App&amp;#34;&lt;/span> --languages python --type &lt;span class="nb">complete&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Output: .github/workflows/python-app-complete.yml&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="java-with-maven">Java with Maven&lt;a class="anchor" href="#java-with-maven">#&lt;/a>&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">python -m cli.devopsos scaffold gha --name &lt;span class="s2">&amp;#34;Java Service&amp;#34;&lt;/span> --languages java --custom-values maven-config.json
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Output: .github/workflows/java-service-complete.yml&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="multi-language-microservices-with-kubernetes">Multi-language microservices with Kubernetes&lt;a class="anchor" href="#multi-language-microservices-with-kubernetes">#&lt;/a>&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">python -m cli.devopsos scaffold gha &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> --name &lt;span class="s2">&amp;#34;Microservices&amp;#34;&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> --languages python,javascript,go &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> --kubernetes --k8s-method kustomize
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Output: .github/workflows/microservices-complete.yml&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="matrix-build-cross-platform">Matrix build (cross-platform)&lt;a class="anchor" href="#matrix-build-cross-platform">#&lt;/a>&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">python -m cli.devopsos scaffold gha --name &lt;span class="s2">&amp;#34;Node.js App&amp;#34;&lt;/span> --languages javascript --matrix
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Output: .github/workflows/node-js-app-complete.yml&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="reusable-workflow">Reusable workflow&lt;a class="anchor" href="#reusable-workflow">#&lt;/a>&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">python -m cli.devopsos scaffold gha --name &lt;span class="s2">&amp;#34;shared&amp;#34;&lt;/span> --type reusable
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Output: .github/workflows/shared-reusable.yml&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="environment-variables">Environment Variables&lt;a class="anchor" href="#environment-variables">#&lt;/a>&lt;/h2>
&lt;p>All options can be set using environment variables prefixed with &lt;code>DEVOPS_OS_GHA_&lt;/code>:&lt;/p></description></item><item><title>GitLab CI</title><link>https://chefgs.github.io/devops_os_mcp/docs/ci-cd/gitlab-ci/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://chefgs.github.io/devops_os_mcp/docs/ci-cd/gitlab-ci/</guid><description>&lt;h1 id="gitlab-ci-pipeline-generator">GitLab CI Pipeline Generator&lt;a class="anchor" href="#gitlab-ci-pipeline-generator">#&lt;/a>&lt;/h1>
&lt;p>Generate a complete &lt;code>.gitlab-ci.yml&lt;/code> for your project in a single command. The generator creates multi-stage pipelines with language-specific test jobs, Docker build, and Kubernetes deployment.&lt;/p>
&lt;hr>
&lt;h2 id="basic-usage">Basic Usage&lt;a class="anchor" href="#basic-usage">#&lt;/a>&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">python -m cli.devopsos scaffold gitlab --name my-app --languages python --type complete&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Output:&lt;/strong> &lt;code>.gitlab-ci.yml&lt;/code> (default)&lt;br>
Change the output path with &lt;code>--output &amp;lt;path&amp;gt;&lt;/code>.&lt;/p>
&lt;hr>
&lt;h2 id="options">Options&lt;a class="anchor" href="#options">#&lt;/a>&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Option&lt;/th>
 &lt;th>Default&lt;/th>
 &lt;th>Description&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>--name NAME&lt;/code>&lt;/td>
 &lt;td>&lt;code>my-app&lt;/code>&lt;/td>
 &lt;td>Application / pipeline name&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--type TYPE&lt;/code>&lt;/td>
 &lt;td>&lt;code>complete&lt;/code>&lt;/td>
 &lt;td>&lt;code>build&lt;/code> | &lt;code>test&lt;/code> | &lt;code>deploy&lt;/code> | &lt;code>complete&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--languages LANGS&lt;/code>&lt;/td>
 &lt;td>&lt;code>python&lt;/code>&lt;/td>
 &lt;td>Comma-separated: &lt;code>python&lt;/code>, &lt;code>java&lt;/code>, &lt;code>javascript&lt;/code>, &lt;code>go&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--kubernetes&lt;/code>&lt;/td>
 &lt;td>off&lt;/td>
 &lt;td>Add a Kubernetes deploy stage&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--k8s-method METHOD&lt;/code>&lt;/td>
 &lt;td>&lt;code>kubectl&lt;/code>&lt;/td>
 &lt;td>&lt;code>kubectl&lt;/code> | &lt;code>kustomize&lt;/code> | &lt;code>argocd&lt;/code> | &lt;code>flux&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--output FILE&lt;/code>&lt;/td>
 &lt;td>&lt;code>.gitlab-ci.yml&lt;/code>&lt;/td>
 &lt;td>Output file path&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--image IMAGE&lt;/code>&lt;/td>
 &lt;td>&lt;code>docker:24&lt;/code>&lt;/td>
 &lt;td>Default Docker image for pipeline jobs&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--branches BRANCHES&lt;/code>&lt;/td>
 &lt;td>&lt;code>main&lt;/code>&lt;/td>
 &lt;td>Branches that trigger deploy jobs&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--kube-namespace NS&lt;/code>&lt;/td>
 &lt;td>&lt;em>(empty)&lt;/em>&lt;/td>
 &lt;td>Kubernetes namespace (empty = use &lt;code>$KUBE_NAMESPACE&lt;/code> variable)&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--custom-values FILE&lt;/code>&lt;/td>
 &lt;td>&lt;em>(none)&lt;/em>&lt;/td>
 &lt;td>Path to custom values JSON file&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>All options can be set via environment variables prefixed &lt;code>DEVOPS_OS_GITLAB_&lt;/code>.&lt;/p></description></item><item><title>Jenkins</title><link>https://chefgs.github.io/devops_os_mcp/docs/ci-cd/jenkins/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://chefgs.github.io/devops_os_mcp/docs/ci-cd/jenkins/</guid><description>&lt;h1 id="jenkins-pipeline-generator">Jenkins Pipeline Generator&lt;a class="anchor" href="#jenkins-pipeline-generator">#&lt;/a>&lt;/h1>
&lt;p>Generate &lt;code>Jenkinsfile&lt;/code> scripts using the declarative pipeline syntax. Pipelines leverage the DevOps-OS container for a consistent build environment.&lt;/p>
&lt;hr>
&lt;h2 id="basic-usage">Basic Usage&lt;a class="anchor" href="#basic-usage">#&lt;/a>&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">python -m cli.devopsos scaffold jenkins --name &lt;span class="s2">&amp;#34;my-app&amp;#34;&lt;/span> --type complete&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Output:&lt;/strong> &lt;code>Jenkinsfile&lt;/code> (default)&lt;br>
Change the output path with &lt;code>--output &amp;lt;path&amp;gt;&lt;/code>.&lt;/p>
&lt;hr>
&lt;h2 id="options">Options&lt;a class="anchor" href="#options">#&lt;/a>&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Option&lt;/th>
 &lt;th>Default&lt;/th>
 &lt;th>Description&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>--name NAME&lt;/code>&lt;/td>
 &lt;td>&lt;code>DevOps-OS&lt;/code>&lt;/td>
 &lt;td>Pipeline name&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--type TYPE&lt;/code>&lt;/td>
 &lt;td>&lt;code>complete&lt;/code>&lt;/td>
 &lt;td>&lt;code>build&lt;/code> | &lt;code>test&lt;/code> | &lt;code>deploy&lt;/code> | &lt;code>complete&lt;/code> | &lt;code>parameterized&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--languages LANGS&lt;/code>&lt;/td>
 &lt;td>&lt;code>python,javascript&lt;/code>&lt;/td>
 &lt;td>Comma-separated: &lt;code>python&lt;/code>, &lt;code>java&lt;/code>, &lt;code>javascript&lt;/code>, &lt;code>go&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--kubernetes&lt;/code>&lt;/td>
 &lt;td>off&lt;/td>
 &lt;td>Add Kubernetes deploy stage&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--registry URL&lt;/code>&lt;/td>
 &lt;td>&lt;code>docker.io&lt;/code>&lt;/td>
 &lt;td>Container registry URL&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--k8s-method METHOD&lt;/code>&lt;/td>
 &lt;td>&lt;code>kubectl&lt;/code>&lt;/td>
 &lt;td>&lt;code>kubectl&lt;/code> | &lt;code>kustomize&lt;/code> | &lt;code>argocd&lt;/code> | &lt;code>flux&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--output FILE&lt;/code>&lt;/td>
 &lt;td>&lt;code>Jenkinsfile&lt;/code>&lt;/td>
 &lt;td>Output file path&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--custom-values FILE&lt;/code>&lt;/td>
 &lt;td>&lt;em>(none)&lt;/em>&lt;/td>
 &lt;td>Path to custom values JSON file&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--image IMAGE&lt;/code>&lt;/td>
 &lt;td>&lt;code>docker.io/yourorg/devops-os:latest&lt;/code>&lt;/td>
 &lt;td>DevOps-OS container image&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--scm SCM&lt;/code>&lt;/td>
 &lt;td>&lt;code>git&lt;/code>&lt;/td>
 &lt;td>Source control: &lt;code>git&lt;/code> | &lt;code>svn&lt;/code> | &lt;code>none&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--parameters&lt;/code>&lt;/td>
 &lt;td>off&lt;/td>
 &lt;td>Add runtime parameters (auto-enabled for &lt;code>--type parameterized&lt;/code>)&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--env-file FILE&lt;/code>&lt;/td>
 &lt;td>&lt;em>(cli dir)&lt;/em>&lt;/td>
 &lt;td>Path to &lt;code>devcontainer.env.json&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>All options can be set via environment variables prefixed &lt;code>DEVOPS_OS_JENKINS_&lt;/code>.&lt;/p></description></item></channel></rss>