Giter Site home page Giter Site logo

gitlab's Introduction

GitLab

Various GitLab hooks. For more information please read a series of articles on Continuous Delivery of your InterSystems solution using GitLab (index):

Installation

Load and compile classes.

Development

Development is done on Cache-Tort-Git UDL fork.

Use

Set settings via: write ##class(isc.git.Settings).setSetting("setting", "value")

Available settings:

Setting Sample Value Description
ext $lb("xml") List of files extensions to load and compile.
tests MyApp/Tests Path relative from the repo root to the test suite.
commit Do not set. Current commit hash.
hooks MyApp/Hooks/ Path relative from the repo root to the hooks.
delete Package.Class:Method Code called to delete files from project. Should accept one argument - list of files to delete.
url http://127.0.0.1:57772 Server root.

Hooks

There are two types of hooks available:

  • Global - executed each time the CI is run. Extend isc.git.hook.Global.
  • Local - executed once. Extend isc.git.hook.Local.

Hooks of the same type are executed in collation order. To create a hook extend either or isc.git.hook.Global or isc.git.hook.Local and implement onBefore and/or onAfter methods.

Execution order:

  1. Global hooks, before.
  2. Local hooks, before.
  3. Code load and compile.
  4. Local hooks, after.
  5. Global hooks, after.

Tips & Tricks

Various tricks for GitLab CI.

Namespaces

Use CI_COMMIT_REF_NAME (resolves to branch) environment variable to use several namespaces on one server.

I.e. csession ensemble -U ${CI_COMMIT_REF_NAME} "##class(isc.git.GitLab).loadDiff()"

gitlab's People

Contributors

eduard93 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gitlab's Issues

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.