axectl
+--------------------------------------------------+
| |
| .dx:. |
| cO00Ok; |
| .x00OOOkkx. |
| .d00OOOkkkxl |
| :kOOOOkkkxl;' |
| .l00OOOkkkxd:;cc' |
| 'd00OOOOkkkdc',:lol, |
| ,d000OOOkkkxd,..',:loo: |
|.d000OOOkkkxxxl ..,:codl. |
|xO0OOOkkkxxxxd, .;cldo; |
|:kkOOkkkxxxddo. ':codl' |
| ;xxkkxxxdddd: .,:lddl. |
| .cxddddddoo. .;codd; |
| .:ddooooc ':lddl' |
| .,clo, .,coddc. |
| .:lddo,. |
| ,clddl, |
| .;lodo:. |
| ,clddl, |
| .;codoc. |
| ':lddo:. |
| .;codoc, |
| .,:lool:.|
| .;cloo:|
| .,:c;.|
| |
| |
+--------------------------------------------------+
Index
This is the introduction
Some introduction text, formatted in heading 2 style
Some paragraph
The first paragraph text
Description
axectl
is a set of DevOps/SRE tools for developers, we can create different commands to abstract manual tasks.
This tool is written in Go with the cobra framework.
As result of the project, we obtain a binary which can be compiled for the different platforms and architectures.
Build project
To build the project from your side, you need Go
installed in your computer, and execute:
Remember to check your OS
and your architecture.
mkdir -p ./bin
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ./bin/axectl ./
Or you can go to the releases page.
Sonar
axectl has the command sonar
which allows you to setup and configure a SonarQube in your local dev env.
This command is an abstraction to setup and configure the project in SonarQube.
What it does?
The CLI with the command sonar
uses docker and docker-compose to create the resources needed.
Some features are:
- Use three docker containers:
SonarQube
,PostgreSQL
andsonar-scanner
.SonarQube
-> serverPostgreSQL
-> database enginesonar-scanner
-> tool from Sonar to analyse the code
- The tool
axectl
communicates to theSonarQube
API to create the projects and the tokens automatically, the tokens are store in the path~/.axectl/sonar/token
axectl
has the flag-i
which install the needed requirements for you, the requirements are:- docker
- docker-compose
- The flag
-i
also add your user to theDocker
group. - It asks you to restart your computer for changes to take effect.
Examples
- Install requirements, this step install all the requirements to run
Docker
and thesonar-scanner
in your computer. features - After the installation, you will be prompt to restart your computer, this is because is needed after add your user to the
Docker
group source
axectl sonar -i
- Start the service, creating the projects and scan them
axectl sonar -s -c --scan -p "someProject" -o "someOrganization"
- Start the service
axectl sonar -s -p "someProject" -o "someOrganization"
- Start the service creating the projects
axectl sonar -s -c -p "someProject" -o "someOrganization"
- Check the status of the service
axectl sonar --status
- Start the SonarQube service
axectl sonar -s
Sonar-scanner Docker
You can execute the following command in order to run the analysis directly.
docker run \
--rm \
--network=host \
-e SONAR_HOST_URL="http://sonarqube:9000" \
-v $PWD:/usr/src sonarsource/sonar-scanner-cli \
-Dsonar.projectKey=axectl \
-Dsonar.sonar.projectName=axectl \
-Dsonar.sonar.projectVersion=1.0 \
-Dsonar.scm.disabled=true \
-Dsonar.sources=./ \
-Dsonar.sonar.host.url=http://sonarqube:9000 \
-Dsonar.login=`+token
Add to path
You can easily execute axectl
anywhere adding the binary to some path that you have configured in your $PATH
.
You can use for instance the path:
/usr/bin/
Execute the command:
sudo cp ./axectl /usr/bin/
TODO
- Install dependencies
- Start all the containers
- Check containers status
- Generate project in Sonar
- Generate token for project
- Create config path
- Create tokens inside the config path
- List tokens
- Delete tokens
- Delete all resources created
- Setup debug argument
- Update release from the CLI
- Remove installation packages for
sonar-scanner
- Refactor
- Flag to specify the code coverage file
Jose Ramon Mañes