+--------------------------------------------------+
| |
| .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;.|
| |
| |
+--------------------------------------------------+
Some introduction text, formatted in heading 2 style
The first paragraph text
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.
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.
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.
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.
- 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
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
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/
- 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