duli2012 / Roaster

Build open-source tools from scratch with Roaster!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

build status

Introduction

This project is for scriptizing daily IT work about Linux and Windows.

Linux

Currently we only support CentOS 7 and Ubuntu 18.04 LTS CentOS 7 is my main working platform but it's also good to enjoy the speed of apt-get. I may add support for higher version when it comes out. But there's no plan for supporting earlier versions.

Currently Ubuntu build only enables a subset of features. This is just due to my use case. There's no hard limit.

Windows

Everything about Windows is listed under /win/ currently. It uses a different infrastructure as Linux. Will gradually merge them together.

macOS

You guys already have Homebrew!

Features

  • Docker sandbox
  • Bare metal deployment
  • Git repositoies mirroring
  • Yum repositoies mirroring
  • DDns

Bootstrap

Officially we rely on CI system to build our image. If you'd like to build your own image, there's a very simple way to bootstrap without complicated setup.

Dependency

All you need is a docker to run docker build, and a few basic Linux tools available everywhere.

  • bash (>= 4.0)
  • coreutils
  • docker (>= 18.09)
  • sudo
  • which

We will handle docker build and docker push for you, If you want to do it for a private docker registry, please docker login in advance.

Build

docker login example.org -u your_user_name
dist=centos     # Support centos/ubuntu.
CI_REGISTRY_IMAGE=example.org/roaster CI_COMMIT_REF_NAME=build-init gitlab-ci/build_$dist.sh

CI_REGISTRY_IMAGE is mandatory and it should point to the base dir without $dist. Make sure your registry supports hierarchical path.

CI_COMMIT_REF_NAME is optional. You can use it to emulate a git tag build-xxx in our CI system, which allows you to start build from a certain stsage. We also support resume-xxx it the previous build failed and a breakpoint image is created.

License

We are using Apache License 2.0 for this entire repo.

Each component we build may has its own license, and does not need to be compatible with our license. Users are responsible for maintaining proper licenses for all components used. This requirement also applies when using our release packages (containers, tarball, deb, rpm, ...).

Contribution

This project is hosted on private git and mirrored to GitHub. Feel free to submit PR directly on Github and I will import it.

About

Build open-source tools from scratch with Roaster!

License:Apache License 2.0


Languages

Language:Shell 63.3%Language:PowerShell 36.2%Language:Dockerfile 0.4%