Giter Site home page Giter Site logo

roz3x / ci-agents Goto Github PK

View Code? Open in Web Editor NEW

This project forked from unclejack/ci-agents

0.0 1.0 0.0 6.58 MB

tinyCI microservice and tools collection

Home Page: https://tinyci.org

License: Other

Makefile 0.89% Go 75.78% Ruby 0.52% Shell 0.54% JavaScript 22.23% TSQL 0.04%

ci-agents's Introduction

tinyCI's Agents

This repository contains most of tinyci's microservices as well as its command-line client, tinycli.

To get a tinyCI release, head over to https://github.com/tinyci/tinyci/releases. The rest of this page is largely about developer setup. Check out our docs if you're interested in using or testing out tinyCI.

Developer Setup

Follow these instructions carefully. We will soon have something a little more streamlined.

It is easiest to work with this project through the Golang Toolchain. Get it before following these instructions.

$ export GOPATH=$HOME
$ go get -d github.com/tinyci/ci-agents
$ go get -d github.com/tinyci/ci-ui
$ cd ~/src/github.com/tinyci/ci-ui && make test-debug
$ cd ~/src/github.com/tinyci/ci-agents
$ cp .config/services.yaml.example .config/services.yaml
<edit services to taste>
$ make demo

Then hit port 3000 of that host on your browser. If you have configured OAuth, you will be presented with a confirmation screen. If you are running in no auth mode, you will be teleported to the UI directly.

Jaeger Tracing mode

If USE_JAEGER=1 is supplied at either demo or test-debug targets, it will attempt to link to a jaeger tracing instance you can create with make jaeger. Please note that enable_tracing must be set in the services config for this to be effective.

Configuring it

To start, it's easiest to configure one task at the root with multiple runs. Later on, you will want to isolate directories with additional task.yml files so subsections of your code can be tested independently of each other.

Put this in a file named task.yml at the root:

---
mountpoint: '/build' # this is where your source will be mounted in the image
runs:
  testbuild: # name of the run
    command: ['do', 'build'] # customize this to taste
    image: 'ubuntu:18.04' # example! Use any image you'd like.
  test: # name of the run
    command: ['do', 'test'] # customize this to taste
    image: 'ubuntu:18.04' # example! Use any image you'd like.

As well as creating an empty tinyci.yml -- this file typically contains global overrides and is always read from the master branch. For now, customizing it is not necessary.

To add your repository to tinyCI, click the hamburger menu at the top left of the UI, then select the Add tab and find your repository. Check the box; the hook will be set up automatically in a secured fashion.

After that, you can submit code through the Manual Submission dialog or any push or pull request will also trigger a CI run. Enjoy!

Please note that actually running your code requires that you launch a runner (ideally on a separate server) which is covered in our documentation.

License

Mozilla Public License 2.0: https://www.mozilla.org/en-US/MPL/2.0/

ci-agents's People

Contributors

capoferro avatar roz3x avatar unclejack avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.