Offline GitLab CI Linting

Back to Listing

Hanover, MD, 26 May 2018


INTRO

Several feature requests have been opened for various types of gitlab-ci.yml linting capabilities [1] [2] [3] [4]

Many of our customers do not have regular Internet access and many of them, being highly regulated, cannot install local copies of GitLab to be able to run against the provided API.

THE START OF A SOLUTION

While participating in the longest running thread, I took a stab at extracting the linter from the GitLab codebase.

The work, published as the gitlab-ci-yaml_lint gem, is my attempt at a start to solving the issue. My hope is that the GitLab community will help port newer and older versions of the linter into the gem in such a way that it can eventually simply be included into the GitLab codebase and replace the internal linter.

USAGE

COMMAND LINE

To use the gem, you simply have to run gem install gitlab-ci-yaml_lint. You can then lint any target gitlab-ci.yml file by running gitlab-ci-yaml_lint <path to .gitlab-ci.yml>.

RAKE TASKS

The gem also provides a set of pre-built rake tasks for including into your project. You can enable these tasks by adding the following to your Rakefile:

require 'gitlab/ci/yaml_lint/rake/tasks'

Gitlab::Ci::YamlLint::Rake::Tasks.new(File.dirname(__FILE__))

Trevor has worked in a variety of IT fields over the last decade, including systems engineering, operating system automation, security engineering, and various levels of development.

At OP his responsibilities include maintaining overall technical oversight for Onyx Point solutions, providing technical leadership and mentorship to the DevOps teams. He is also responsible for leading OP’s solutions and intellectual property development efforts, setting the technical focus of the company, and managing OP products and related services. In this regard, he oversees product development and delivery as well as developing the strategic roadmap for OP’s product line.

At Onyx Point, our engineers focus on Security, System Administration, Automation, Dataflow, and DevOps consulting for government and commercial clients. We offer professional services for Puppet, RedHat, SIMP, NiFi, GitLab, and the other solutions in place that keep your systems running securely and efficiently. We offer Open Source Software support and Engineering and Consulting services through GSA IT Schedule 70. As Open Source contributors and advocates, we encourage the use of FOSS products in Government as part of an overarching IT Efficiencies plan to reduce ongoing IT expenditures attributed to software licensing. Our support and contributions to Open Source, are just one of our many guiding principles

  • Customer First.
  • Security in All We Do.
  • Pursue Innovation with Integrity.
  • Communicate Openly and Respectfully.
  • Offer Your Talents, and Appreciate the Talents of Others

Onyx Point™, SIMP™, SIMP Enterprise Edition™, SIMP EE™, SIMP Compliance Engine™, and SIMP +SUPPORT™ are trademarks of Onyx Point, Inc. All other company and product names mentioned are used only for identification purposes and may be trademarks or registered trademarks of their respective companies.

gitlab, testing, programming

Share this story

We work with these Technologies + Partners

puppet
gitlab
simp
beaker
redhat
`
AFCEA
GitHub
FOSSFeb