GithubHelp home page GithubHelp logo

isabella232 / jenkinsfile-converter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jkzilla/jenkinsfile-circleci

0.0 0.0 0.0 2.34 MB

Node-based Jenkinsfile-to-CircleCI-config.yml converter

License: MIT License

JavaScript 49.30% Groovy 17.99% Shell 1.22% Dockerfile 0.10% TypeScript 26.24% HTML 5.15%

jenkinsfile-converter's Introduction

Jenkinsfile Converter

A tool to help Jenkins users get a head start on building on CircleCI by converting a Jenkinsfile to CircleCI config.yml.

While this tool should output a valid config.yml, this tool is not yet feature complete. config.yml should be reviewed and edited as necessary before running the initial CircleCI build.

For more about CircleCI, see https://circleci.com

Quick start

curl --data-binary @your-jenkinsfile.groovy https://jenkinsto.cc/i

where your-jenkinsfile.groovy is a path to your Jenkinsfile to convert.

For example, curl --data-binary @./configs/myJenkinsFile.groovy https://jenkinsto.cc/i

Limitations

  • Limited number of syntaxes and plugins are supported. Jenkinsfiles relying on unsupported syntaxes and plugins cannot be converted. Please manually remove them.

  • Only Default is supported as a tool name for maven, jdk and gradle in tools block and other names will cause conversion failures. Please configure them appropriately or remove them manually.

    For example, the following stanza:

    tools {
      maven 'Maven 3.6.3'
      jdk 'Corretto 8.232'
    }
    

    should be changed to:

    tools {
      maven 'Default'
      jdk 'Default'
    }
    

Companion Guide

Please read the companion guide after converting your Jenkinsfile to a config.yml to better understand the output and to get the most out of your CircleCI configuration.

Supported Syntax

Only declarative (pipeline) Jenkinsfiles are currently supported.

Jenkinsfile Syntax Approx. CircleCI Syntax Status
agent executor Static
post when attribute See when
stages workflows Supported
steps step Limited
environment environment Unsupported
options N/A See Supported Jenkins Plugins
parameters parameters Unsupported
triggers cron Unsupported
stage job Supported

With regards to specific Jenkinsfile steps, the steps that are directly translated over to a CircleCI config.yml can be referenced here. We are continuously rolling out specific feedback translation for each step. Please submit an issue if there's a step you believe deserves supporting!

Supported Jenkins plugins

Important Note: Jenkinsfiles relying on plugins not listed below cannot be converted. Please remove stanzas relying on those unsupported plugins (e.g. options), otherwise you will see an error message saying something is "Unknown" or "Invalid". If there is a request to add a plugin to the list, please feel free to open an issue!

  • Trilead API Plugin (trilead-api)
  • Folders Plugin (cloudbees-folder)
  • OWASP Markup Formatter Plugin (antisamy-markup-formatter)
  • Script Security Plugin (script-security)
  • Oracle Java SE Development Kit Installer Plugin (jdk-tool)
  • Command Agent Launcher Plugin (command-launcher)
  • Structs Plugin (structs)
  • Pipeline: Step API (workflow-step-api)
  • Token Macro Plugin (token-macro)
  • bouncycastle API Plugin (bouncycastle-api)
  • Build Timeout (build-timeout)
  • Credentials Plugin (credentials)
  • Plain Credentials Plugin (plain-credentials)
  • SSH Credentials Plugin (ssh-credentials)
  • Credentials Binding Plugin (credentials-binding)
  • SCM API Plugin (scm-api)
  • Pipeline: API (workflow-api)
  • Timestamper (timestamper)
  • Pipeline: Supporting APIs (workflow-support)
  • Durable Task Plugin (durable-task)
  • Pipeline: Nodes and Processes (workflow-durable-task-step)
  • JUnit Plugin (junit)
  • Matrix Project Plugin (matrix-project)
  • Resource Disposer Plugin (resource-disposer)
  • Jenkins Workspace Cleanup Plugin (ws-cleanup)
  • Ant Plugin (ant)
  • JavaScript GUI Lib: ACE Editor bundle plugin (ace-editor)
  • JavaScript GUI Lib: jQuery bundles (jQuery and jQuery UI) plugin (jquery-detached)
  • Pipeline: SCM Step (workflow-scm-step)
  • Pipeline: Groovy (workflow-cps)
  • Pipeline: Job (workflow-job)
  • Jenkins Apache HttpComponents Client 4.x API Plugin (apache-httpcomponents-client-4-api)
  • Display URL API (display-url-api)
  • Jenkins Mailer Plugin (mailer)
  • Pipeline: Basic Steps (workflow-basic-steps)
  • Gradle Plugin (gradle)
  • Pipeline: Milestone Step (pipeline-milestone-step)
  • Jackson 2 API Plugin (jackson2-api)
  • Pipeline: Input Step (pipeline-input-step)
  • Pipeline: Stage Step (pipeline-stage-step)
  • Pipeline Graph Analysis Plugin (pipeline-graph-analysis)
  • Pipeline: REST API Plugin (pipeline-rest-api)
  • JavaScript GUI Lib: Handlebars bundle plugin (handlebars)
  • JavaScript GUI Lib: Moment.js bundle plugin (momentjs)
  • Pipeline: Stage View Plugin (pipeline-stage-view)
  • Pipeline: Build Step (pipeline-build-step)
  • Pipeline: Model API (pipeline-model-api)
  • Pipeline: Declarative Extension Points API (pipeline-model-extensions)
  • Jenkins JSch dependency plugin (jsch)
  • Jenkins Git client plugin (git-client)
  • Jenkins GIT server Plugin (git-server)
  • Pipeline: Shared Groovy Libraries (workflow-cps-global-lib)
  • Branch API Plugin (branch-api)
  • Pipeline: Multibranch (workflow-multibranch)
  • Authentication Tokens API Plugin (authentication-tokens)
  • Docker Commons Plugin (docker-commons)
  • Docker Pipeline (docker-workflow)
  • Pipeline: Stage Tags Metadata (pipeline-stage-tags-metadata)
  • Pipeline: Declarative Agent API (pipeline-model-declarative-agent)
  • Pipeline: Declarative (pipeline-model-definition)
  • Lockable Resources plugin (lockable-resources)
  • Pipeline (workflow-aggregator)
  • GitHub API Plugin (github-api)
  • Jenkins Git plugin (git)
  • GitHub plugin (github)
  • GitHub Branch Source Plugin (github-branch-source)
  • Pipeline: GitHub Groovy Libraries (pipeline-github-lib)
  • MapDB API Plugin (mapdb-api)
  • Jenkins Subversion Plug-in (subversion)
  • SSH Build Agents plugin (ssh-slaves)
  • Matrix Authorization Strategy Plugin (matrix-auth)
  • PAM Authentication plugin (pam-auth)
  • LDAP Plugin (ldap)
  • Email Extension Plugin (email-ext)
  • H2 API Plugin (h2-api)
  • Config File Provider Plugin (config-file-provider)
  • Pipeline Maven Integration Plugin (pipeline-maven)
  • Pipeline Utility Steps (pipeline-utility-steps)

For devs: Contributing and testing locally

Please visit our Contributing Guide for information regarding contribution guidelines and local setup.

Feedback

To share any general feedback regarding this project with the CircleCI team, please reach out to on our Discuss forum and use the jenkins-converter tag.

License

MIT

jenkinsfile-converter's People

Contributors

makotom avatar jaryt avatar felicianotech avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.