AciCTL
Getting Started & Documentation
If you're new to Acid and want to get started creating your own Jenkins as a service with kubernetes, please checkout our Getting Started guide.
Acictl must first be installed on your machine. Acictl is distributed as a binary package for all supported platforms and architectures. You can download it from here.
Installing acictl
To install Acictl, find the appropriate package for your system and download it.
After downloading Acictl, rename the binary to acictl
and if you are in UNIX systems and it is needed add the required permissions. Acictl runs as a single binary named acictl-[OS]-[arch].
$ chmod +x acictl
The final step is to make sure that the acictl binary is available on the PATH. See this page for instructions on setting the PATH on Linux and Mac. This page contains instructions for setting the PATH on Windows.
Verifying the Installation
After installing Acictl, verify the installation worked by opening a new terminal session and checking that acictl is available. By executing acictl you should see help output similar to this:
$ acictl
acictl v1.0 is a CLI to control the acid project.
This application is a tool to generate the needed files
to quickly create a Jenkins as a service environment in K8S.
Usage:
acictl [flags]
acictl [command]
Available Commands:
# ...
If you get an error that acictl could not be found, your PATH environment variable was not set up properly. Please go back and ensure that your PATH variable contains the directory where Acictl was installed.
You can verify the SHA256 hashes easily by placing the files in the same folder as the download artifact and then running shasum
, which is included in most UNIX-like systems:
$ ls
acictl-darwin-386 acictl-darwin-386.sha256
$ shasum -a 256 -c acictl-darwin-386.sha256
acictl-darwin-386: OK
Developing Acictl
If you wish to work on Acictl itself, you'll first need Go installed on your machine (version 1.10+ is required). Alternatively, you can use the Vagrantfile in the root of this repo to stand up a virtual machine with the appropriate dev tooling already set up for you.
This repository contains only Acictl core, which includes the command line interface.
For local development of Acictl core, first make sure Go is properly installed and that a
GOPATH has been set. You will also need to add $GOPATH/bin
to your $PATH
.
Next, using Git, clone this repository into $GOPATH/src/github.com/adidas/acictl
.
You'll need to run make setup
to install some required tools, then make dev
. This will compile the code and then run the tests. If this exits with exit status 0, then everything is working!
You only need to run make server
once (or when the tools change).
$ cd "$GOPATH/src/github.com/adidas/acictl"
$ make setup
$ make dep
$ make server
If you're developing a specific package, you can run tests for just that package by specifying the TEST
variable. For example below, only generator
package tests will be run.
$ make unit TEST=./generator
...
Dependencies
Acictl stores its dependencies under vendor/
, which Go 1.6+ will automatically recognize and load. We use dep
to manage the dep dependencies.
If you're developing Acictl, there are a few tasks you might need to perform.
Adding a dependency
If you're adding a dependency, you'll need to vendor it in the same Pull Request as the code that depends on it.
To add a dependency:
Assuming your work is on a branch called my-feature-branch
, the steps look like this:
-
Add the new package to your vendor/
directory:
$ dep ensure -add github.com/foo/bar
-
Review the changes in git and commit them.
Updating a dependency
To update a dependency:
-
Fetch the dependency:
$ dep ensure -update github.com/foo/bar
-
Review the changes in git and commit them.
FAQ
Maintainers
Check the contributor list and you will be welcome if you want to contribute.
Contributing
Check out the CONTRIBUTING.md file to know how to contribute to this project.
© adidas AG
adidas AG publishes this software and accompanied documentation (if any) subject to the terms of the MIT license with the aim of helping the community with our tools and libraries which we think can be also useful for other people. You will find a copy of the MIT license in the root folder of this package. All rights not explicitly granted to you under the MIT license remain the sole and exclusive property of adidas AG.
If you want to contact adidas regarding the software, you can mail us at software.engineering@adidas.com.
For further information open the adidas terms and conditions page.
License
MIT