Git Product home page Git Product logo

flowci / flow-core-x Goto Github PK

View Code? Open in Web Editor NEW
1.6K 37.0 120.0 8.32 MB

Powerful and user-friendly CI/CD server with high availability, parallel processing, runner auto-scaling

Home Page: https://flowci.github.io

License: Apache License 2.0

Shell 0.43% Dockerfile 0.02% Java 96.51% Makefile 0.05% HTML 2.97% JavaScript 0.01%
docker java devops continuous-integration ci ci-cd build-automation build-pipelines

flow-core-x's Introduction

A Simple & Powerful CI/CD Server

GitHub Org's stars Docker Pulls

What is flow.ci?

flow.ci is an open-source CI/CD automation server that designed for setting up a self-hosted CI/CD service with the easiest, fastest and most painless way. It supports high availability, multiple building environment, and scalability with dynamic agents.

  • High Availability

    flow.ci is designed to work in the cloud -- public, private, or hybrid, it could be deployed with multiple instances, the configuration/jobs data on the node may not be lost when the instance fails.

  • High Performance

    • scaling: auto scaling agents either on K8s cluster or Linux host
    • parallel: job steps can be executed in parallel on multiple agents
    • cache: cache anything to speed up the build
  • Zero Configuration

    flow.ci tries to minimize the complexity of any configuration, the server could be started with three command lines. It also provides build templates of many programming languages, a job could be started just using it.

  • Online Debugging

    flow.ci supports the online TTY terminal so that you could find out the problems in the running job from runtime terminal.

  • Flexible Plugins

    Using plugins on flow.ci is quite simple, you just need type the plugin name in the step. Developing a plugin is also quite easy, you could use any language on your own plugin development.

  • Flexible Runtime

    Each step or step group can be run either on any docker images or native os.

Quick start

Docker & Docker-Compose are required

git clone https://github.com/FlowCI/docker.git flow-docker
cd flow-docker
./server.sh start

Documentation

Need Help? submit issue from here or send email to [email protected]

Templates

maven, npm, golang, ruby, android and more

Architecture

architecture

Preview

demo

flow-core-x's People

Contributors

cxwccc avatar gy2006 avatar stargwq avatar yunheli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flow-core-x's Issues

Add DockerFile

  • 阿里云自动build
  • Mysql 与 FlowPlatform 合并一个镜像

Bitbucket 收到 WebHooks 消息,但无法正常克隆代码。

在使用 Flow 时使用 Bitbucket 代码仓库时注意到一个现象,在 Push 代码的时候 Bitbucket 会立刻发送了WebHooks 消息,但此时代码仓库并没有 Push 完成,此时任务已经被触发,代码将无法 Clone 从而导致任务失败。

安装问题

1.使用docker安装flowci/mysql启动失败,报/var/lib/mysql目录找不到,注释docker-compose.yml中如下部分启动成功:
volumes:
- "~/flow-ci/db:/var/lib/mysql"
2.关于两个domain设置的问题,设置默认两个都为主机IP,登录时浏览器控制台出现跨域问题,请问该如何设置
FLOW_API_DOMAIN:
FLOW_WEB_DOMAIN:

[Flow] 创建 Flow 添加示例 YML 配置

在创建 flow 时第三步填写 YML 配置时,默认给出 hello world 示例

# flow.ci templates

flow:
  - envs:
      FLOW_WELCOME_MESSAGE: "hello.world"
      
    steps:
      - name: Init
        script: |
          echo ${FLOW_WELCOME_MESSAGE}

[Flow] 支持设置工作目录指令

当前每个 setp 都需要 cd 到实际的项目目录,希望可以增加类似于 Docker 的 WORKDIR 指令,可以一次指定,后面的所有 step 都会在该目录下执行。

.flow.yml

flow:
  - envs:
    FLOW_AGENT_WORKSPACE: "${HOME}/agent-workspace"
    PROJECT_NAME: "myproject"

    steps:
      - name: Git Clone
        script: |
          rm -r -f ${PROJECT_NAME}
          export GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
          git clone --branch ${FLOW_GIT_BRANCH} --single-branch ${FLOW_GIT_URL} ${PROJECT_NAME}

      - name: Install
        script: |
          export LANG=en_US.UTF-8
          cd ${PROJECT_NAME}
          yarn install

      - name: Lint
        script: |
          cd ${PROJECT_NAME}
          yarn lint

      - name: Build
        script: |
          cd ${PROJECT_NAME}
          yarn build

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.