Gitness is an open source development platform from Harness that hosts your source code repositories and runs your development life cycle pipelines.
This tutorial covers how to build and test a Golang application with Gitness.
Installation
You can install Gitness on any computer running Docker.
Run this command to start Gitness:
docker run -d \
-p 3000:3000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /tmp/gitness:/data \
--name gitness \
--restart always \
harness/gitness
Visit http://localhost:3000 in your browser and you will be greeted with the Gitness login page.
Click the Sign Up link.
![]() |
---|
Enter your desired user ID, email address and password, then click Sign Up.
![]() |
---|
âšī¸ Note |
---|
By default, the first user to sign up will be granted administrator access. To learn more about how to configure Gitness, refer to the configuration documentation. |
Create Project
Create a project which will contain the Git repository.
Click the New Project button.
![]() |
---|
Give the project a name and optional description, then click the Create Project button.
![]() |
---|
Import Repository
Expand the New Repository drop-down menu and select Import Repository.
![]() |
---|
jimsheldon/go-outyet, is a simple Golang application that reports whether a version of Golang has been released yet.
Enter https://github.com/jimsheldon/go-outyet
in the Repository URL field, then click Import Repository.
![]() |
---|
Create Pipeline
Click on the imported repository, then open the Pipelines view from the menu on the left.
![]() |
---|
Click the New Pipeline button.
![]() |
---|
Give the pipeline a name, the YAML path will be generated automatically (it can be changed if desired), then click the Create button.
![]() |
---|
Gitness can automatically generate a pipeline based on the code in the repository.
Click the Generate button above the pipeline editor.
![]() |
---|
Examine the pipeline that was generated, you will see run steps that build and test the app, and a Docker build plugin step.
The build step compiles the binary, and the test step runs unit tests from the main_test.go
file.
The Docker build step builds a Docker image from the Dockerfile
file, but does not publish the image (the dry_run: true
setting prevents publishing).
Click Save and Run button.
![]() |
---|
âšī¸ Note |
---|
Gitness will commit the pipeline file to your repository and create a default pipeline trigger for pull request events, which can be customized if desired. |
Run Pipeline
Click the Run pipeline button in the window that appears.
![]() |
---|
You will see the pipeline execution view.
![]() |
---|
Congratulations, you just imported a repository and ran a pipeline! đ
In this tutorial, we have just scratched the surface of what is possible with Gitness đ
Next Steps
- Create triggers to automatically run the pipeline on certain events
- Define conditions to only run specific steps for certain events
- Set values dynamically at runtime with expressions
- Review samples for other languages and write some pipelines of your own!
Resources
Cover image by Josh Olalde on Unsplash