Git Product home page Git Product logo

lilypond-docker-1's Introduction

lilypond musical typesetting

why another lilypond image

I needed some more packages to use this image for a gitlab CI runner. It is possible to use this image to build lilypond files from a gitlab repository fully automated.

gitlab CI configuration

.gitlab-ci.yml

image: iskaron/lilypond

stages:
  - build
  - deploy

lilyfy:
  stage: build
  script:
    - mkdir -p /pdfs
    - 'git diff-tree --no-commit-id --name-only -r "$CI_BUILD_REF" | grep ".ly$" | grep -v setup.ly | xargs -I % find "%" -name \*.ly -execdir lilypond "--output=/pdfs/{}" "{}" \;'
  artifacts:
    expire_in: 31d
    paths:
    - pdfs/*.pdf
    - pdfs/*.mid*

deploy:
  dependencies:
    - lilyfy
  stage: deploy
  only:
    - master
  script:
    - eval $(ssh-agent -s)
    - echo "$DEPLOY_KEY" | ssh-add -
    - mkdir -p ~/.ssh
    - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
    - mkdir -p /pdfs
    - scp -r /pdfs/* $SCP_TARGET_PATH

The script will deploy via SSH. The required private key has to be stored in the gitlab CI variable "DEPLOY_KEY", the scp target path in SCP_TARGET_PATH (something like '@:'.

standalone usage

    docker run --rm -v $(pwd):/app -w /app iskaron/lilypond lilypond FILE

lilypond-docker-1's People

Contributors

iskaron 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.