Git Product home page Git Product logo

ploigos-containers's Introduction

ploigos-containers

GitHub Workflow Status (branch)
license

Container image definitions for the Ploigos project

ploigos-base

ploigos-base

Defines the base Ploigos container image, from which all other Ploigos images derive.

ploigos-base-java-8

ploigos-base-java-8

Defines a Java 8 base container image, built on top of ploigos-base, from which many Ploigos tool images derive.

ploigos-ci-agent-jenkins

ploigos-ci-agent-jenkins

Defines a jenkins agent as a sidecar for the ploigos-tool-* containers. Built from ploigos-base-java-8.

ploigos-tool-argocd

ploigos-tool-argocd

Defines an ArgoCD container image. Built from ploigos-base.

ploigos-tool-containers

ploigos-tool-containers

NOTE: This image is not automatically built by GitHub actions because it requires to be built on a subscribed RHEL 8 machine.

Defines a ci tools container that has tools for working with containers.

  • buildah
  • podman
  • skopeo

ploigos-tool-config-lint

ploigos-tool-config-lint

Defines a config-lint container image. Built from ploigos-base.

ploigos-tool-maven

ploigos-tool-maven

Defines a maven container image. Built from ploigos-base-java-8.

ploigos-tool-openscap

ploigos-tool-openscap

NOTE: This image is not automatically built by GitHub actions because it requires to be built on a subscribed RHEL 8 machine.

Defines an OpenSCAP based image scanning container image. Built from ploigos-base.

ploigos-tool-sonar

ploigos-tool-sonar

Defines a sonar-scanner container image. Built from ploigos-base.

Automatic Build, Test, and Publish

The following github events to this repository will cause the publish GitHub workflow to kick off which will build, test, publish the images (that can) to quay.io/ploigos.

Events

  • schedule
    • everyday at 10:00am
  • push
    • branches
      • main
    • tags
      • v*.*.*
    • pull_request

Images

  • ploigos-base
  • ploigos-ci-agent-jenkins
  • ploigos-tool-argocd
  • ploigos-tool-config-lint
  • ploigos-tool-maven
  • ploigos-tool-openscap
  • ploigos-tool-sonar

Local Build, Test, and Publish

Build

The following commands can be used for building these images locally

# Run these commands from the directory where this repository was cloned

podman build --tag ploigos-base ploigos-base
podman build --build-arg FROM_IMAGE=ploigos-base --tag ploigos-tool-helm ploigos-tool-helm
podman build --build-arg FROM_IMAGE=ploigos-base --tag ploigos-base-java-8 ploigos-base-java-8
podman build --build-arg FROM_IMAGE=ploigos-base-java-8 --tag ploigos-ci-agent-jenkins ploigos-ci-agent-jenkins
podman build --build-arg FROM_IMAGE=ploigos-base --tag ploigos-tool-argocd ploigos-tool-argocd
podman build --build-arg FROM_IMAGE=ploigos-base --tag ploigos-tool-containers ploigos-tool-containers
podman build --build-arg FROM_IMAGE=ploigos-base --tag ploigos-tool-config-lint ploigos-tool-config-lint
podman build --build-arg FROM_IMAGE=ploigos-base-java-8 --tag ploigos-tool-maven ploigos-tool-maven
podman build --build-arg FROM_IMAGE=ploigos-tool-containers --tag ploigos-tool-openscap ploigos-tool-openscap
podman build --build-arg FROM_IMAGE=ploigos-base --tag ploigos-tool-sonar ploigos-tool-sonar

Test

TODO

Publish

Steps for manually publishing the images that need to be manually published.

  • ploigos-tool-containers
  • ploigos-tool-openscap

Setup

Setup steps.

yum -y install podman, buildah

Publish edge

Publish to quay.io/ploigos

./manual-publish.sh

or

./manual-publish.sh edge ploigos

or

./manual-publish.sh edge ploigos quay.io

Publish to personal quay.io repo

./manual-publish.sh edge $QUAY_USER_NAME

or

./manual-publish.sh edge $QUAY_USER_NAME quay.io

Pubish release verson

Publish the v1.0.0 release version to quay.io/ploigos

./manual-publish.sh v1.0.0

How to Release?

  1. tag this repository with the release version
    • ex: v1.42.0
    • NOTE: must start with v
  2. manually publish the images that can't be automatically published
    • ex: ./manual-publish.sh v1.42.0 ploigos quay.io

ploigos-containers's People

Contributors

itewk avatar kharyam avatar ppremru avatar huntergerlach avatar kfrankli avatar akim309 avatar dwinchell avatar jbride avatar

Watchers

James Cloos avatar  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.