Skip to content

Commit

Permalink
v2 init
Browse files Browse the repository at this point in the history
  • Loading branch information
irwinsun committed Nov 15, 2019
1 parent 7076a11 commit eabcab3
Show file tree
Hide file tree
Showing 15,751 changed files with 527,968 additions and 98,365 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 0 additions & 1 deletion README.md
Expand Up @@ -40,7 +40,6 @@
| **流水线模板** | 流水线模板将是企业内部推行研发规范的一大助力 |

## Getting started
- [v1版Docker体验镜像下载](https://cloud.docker.com/u/blueking/repository/docker/blueking/bk-ci)
- [下载与编译](docs/overview/source_compile.md)
- [一分钟安装部署](docs/overview/installation.md)

Expand Down
4 changes: 2 additions & 2 deletions docs/install/agent.md
Expand Up @@ -39,9 +39,9 @@ agent 使用 golang 编写,目前支持 linux/windows/macos 三种系统,其

在示例/data/bkee/bkci的主目录下:

- 将源码包中的support-files/agent-package目录复制到位置 /data/bkee/bkci/agent-package,
- 将源码包中的support-files/agent-package目录复制到位置 /data/bkee/ci/agent-package,

- 该目录路径由/data/bkee/etc/bkci/application-environment.yml 中指定的。请确认路径是否一致。
- 该目录路径由/data/bkee/etc/ci/application-environment.yml 中指定的。请确认路径是否一致。
- 请按以下要求存放相应的安装包:

- Agent安装包目录说明(agent-package)
Expand Down
2 changes: 1 addition & 1 deletion docs/install/backend.md
Expand Up @@ -72,7 +72,7 @@ rabbitmq: 3.7.15 [rabbitmq部署](rabbitmq.md)
|- boot-project.jar # Project微服务的SpringBoot.jar
```

- 启动微服务: 比如项目管理 /data/bkee/bkci/project/project.sh start
- 启动微服务: 比如项目管理 /data/bkee/ci/project/project.sh start

### 2.3 构件服务Artifactory特殊部署操作

Expand Down
2 changes: 1 addition & 1 deletion docs/overview/code_framework.md
Expand Up @@ -117,7 +117,7 @@
```

- template 目录文件说明:
- 文件中的 #表示当前文件的相对路径分隔符号,如#etc#bkci#common.yml ,假设蓝鲸总根目录在/data/bkee/, 则表示该文件最终要改名后最终路径是/data/bkee/etc/bkci/common.yml
- 文件中的 #表示当前文件的相对路径分隔符号,如#etc#bkci#common.yml ,假设蓝鲸总根目录在/data/bkee/, 则表示该文件最终要改名后最终路径是/data/bkee/etc/ci/common.yml
- 关于占位符号 ,则看support-files/README.md

## 安装脚本(scripts)
Expand Down
4 changes: 2 additions & 2 deletions docs/overview/installation.md
Expand Up @@ -66,8 +66,8 @@

前端构建之后生成的模板配置文件变量替换
```bash
./render_tpl -m bkci /data/bkee/bkci/frontend/pipeline/frontend#pipeline#index.html
./render_tpl -m bkci /data/bkee/bkci/frontend/console/frontend#console#index.html
./render_tpl -m bkci /data/bkee/ci/frontend/pipeline/frontend#pipeline#index.html
./render_tpl -m bkci /data/bkee/ci/frontend/console/frontend#console#index.html
```

### 3.3 后端微服务部署
Expand Down
1 change: 1 addition & 0 deletions docs/overview/source_compile.md
Expand Up @@ -77,6 +77,7 @@ npm run public:external

```
MAVEN_REPO_URL=修改为你的maven私库,如果有的话,没有可用公共的源
MAVEN_REPO_SNAPSHOT_URL=修改为你的快照Maven私库,如果有的话,没有可用公共的源
MAVEN_REPO_DEPLOY_URL= 这个是如果你需要将jar包deploy到你的maven私有库,则设置为你的地址
MAVEN_REPO_USERNAME=需要deploy时才需要填写
MAVEN_REPO_PASSWORD=需要deploy时才需要填写
Expand Down
9 changes: 9 additions & 0 deletions render_gateway.sh
@@ -0,0 +1,9 @@
WORKSPACE=`pwd`
rm -rf ${WORKSPACE}/ci
mkdir -p ${WORKSPACE}/ci/gateway
cp -r ${WORKSPACE}/src/gateway/* ${WORKSPACE}/ci/gateway
cd ${WORKSPACE}/scripts/
sh ./render_local -m ci ../support-files/templates/*
cd ${WORKSPACE}/ci/gateway
cp ./lua/auth/auth_user_oa.lua ./lua/auth/auth_user.lua
cp ./lua/auth/oauth_util_oa.lua ./lua/auth/oauth_util.lua
52 changes: 31 additions & 21 deletions scripts/bkenv.properties
@@ -1,28 +1,38 @@
INSTALL_PATH=/data/bkee
INSTALL_PATH=/data/bkce
MODULE=bkci
# 权限中心对接方式,sample(开源默认实现无鉴权)/ bk_login(蓝鲸登录) / client
AUTH_PROVIDER=sample
# 数据库
MYSQL_IP0=数据库IP
MYSQL_PORT=数据库Port
MYSQL_USER=数据库用户
MYSQL_PASS=数据库密码
MYSQL_IP0=127.0.0.1
MYSQL_PORT=10000
MYSQL_USER=devops
MYSQL_PASS=devops@123

# Redis 集群配置 2选1,集群方式需要在common.yml中开启注释
REDIS_PASS=密码
REDIS_IP0=单机方式下的RedisIP
REDIS_PORT=单机方式下的Redis端口
REDIS_DB=单机方式下的redis数据库
REDIS_PASS=123456
REDIS_IP0=127.0.0.1
REDIS_PORT=6379
REDIS_DB=7

# RabbitMQ 配置 common.yml
RABBITMQ_HOST=RabbitMQ主机名称
RABBITMQ_PORT=RabbitMQ端口
RABBITMQ_VHOST=bkci
RABBITMQ_PASSWORD=bkci
RABBITMQ_USERNAME=bkci
RABBITMQ_HOST=127.0.0.1
RABBITMQ_PORT=5672
RABBITMQ_VHOST=devops
RABBITMQ_PASSWORD=devops
RABBITMQ_USERNAME=devops@123

# devops外网配置
BKCI_EXTERNAL_HTTP_PORT=80
BKCI_EXTERNAL_HTTPS_PORT=443
BKCI_EXTERNAL_FQDN=v2.bkdevops.yyyy.com
BKCI_EXTERNAL_HOST=bkdevops.yyyy.com

# DevOps平台配置 common.yml
BKCI_FQDN=DevOps域名
BKCI_FQDN=localhost.devops.com
BKCI_FQDN_ELSEWHERE=''
BKCI_FQDN_V1=''
BKCI_HTTP_PORT=80
HTTP_SCHEMA=[http或者https]
HTTP_SCHEMA=http

# 各微服务的HTTP端口 application-{service}.yml {service}.sh
BKCI_PROJECT_API_PORT=21912
Expand All @@ -49,13 +59,13 @@ BKCI_CONSUL_DNS_PORT=consul的dns端口

### 根据用户需要决定修改的占位符
# GitHub 配置,可有可无,看用户需要 application-repository.yml
GITHUB_SIGN_SECRET=用户公司在Github的repo创建的webhook统一的密钥
GITHUB_APP=用户公司在GitHub上创建的App名称
GITHUB_CLIENT_ID=用户公司在GitHub上创建的APP的Client ID
GITHUB_CLIENT_SECRET=用户公司在GitHub上创建的APP的Client secret
GITHUB_SIGN_SECRET=bkdevops2018
GITHUB_APP=tencent-devops-dev
GITHUB_CLIENT_ID=Iv1.ae58d494667dbdc5
GITHUB_CLIENT_SECRET=6e5422958472bc208d02640342399f74ebd10ab7

# 自搭建的GitLab仓库 -- 用户自己部署的gitlab仓库 application-repository.yml
GITLAB_URL=gitlab网站地址
GITLAB_URL=

# SVN配置 -- 如果用户有使用 application-repository.yml
SVN_URL=SVN地址
Expand Down
6 changes: 6 additions & 0 deletions scripts/codecc_env_dev.properties
@@ -0,0 +1,6 @@

# consul 相关配置 init.lua 和 common.yml
BKCI_CONSUL_PORT=8500
BKCI_CONSUL_TAG=dev
BKCI_CONSUL_DOMAIN=bkdevops
BKCI_CONSUL_DNS_PORT=8600
79 changes: 79 additions & 0 deletions scripts/render_ci
@@ -0,0 +1,79 @@
#!/bin/bash

# 渲染蓝鲸的__VAR_NUM__ 类似的模板,通过环境变量自动替换它
set -o nounset # Treat unset variables as an error

set -a
BK_ENV_FILE=./ci_env.properties
[ -r $BK_ENV_FILE ] && source $BK_ENV_FILE
set +a

trap 'rm -f $sed_script' EXIT TERM
sed_script=$(mktemp /tmp/XXXXXX.sed)

usage () {
echo "Usage: $0 [-c] [-n] [-E k=v, -E k=v] tpl_path ..."
}

usage_and_exit () {
usage
exit $1
}

target_file_path () {
local module=$MODULE
local tpl_file=${1##*/}
local _target_file
_target_file=../$module/${tpl_file//#//}

echo ${_target_file%.tpl}
}

[[ $# -eq 0 ]] && usage_and_exit 1
declare -i DRY_RUN=0 CHECK=0
declare MODULE=""
declare -a EXTRA_ENV=()

while getopts ncm:E: arg; do
case $arg in
n) DRY_RUN=1 ;;
c) CHECK=1 ;;
m) MODULE="$OPTARG" ;;
E) EXTRA_ENV+=("$OPTARG") ;;
*) usage_and_exit 0 ;;
esac
done
shift $((OPTIND - 1))

# 校验必须变量
if [[ -z $INSTALL_PATH ]]; then
echo "INSTALL_PATH 变量不能为空。"
exit 1
fi
place_holders=$(cat $* 2>/dev/null | grep -wEo '__[0-9A-Z_]+__' | sort -u)

set +u
for p in $place_holders
do
k=$(echo $p | sed 's/^__//; s/__$//;')
v=${!k}
[[ $CHECK -eq 1 ]] && [[ -z "$v" ]] && echo "EMPTY PLACE_HOLDER: $p"
echo "s|$p|$v|g" >> $sed_script
done
set -u
unset p k v

# 仅检查变量
[[ $CHECK -eq 1 ]] && exit 0

for file in "$@"; do
# 是否真正替换变量到目标路径
if [[ $DRY_RUN -eq 0 ]]; then
target_file=$(target_file_path $file)
echo "render $file -> $target_file"
mkdir -p ${target_file%/*}
sed -f $sed_script $file > $target_file
else
sed -f $sed_script $file
fi
done
79 changes: 79 additions & 0 deletions scripts/render_local
@@ -0,0 +1,79 @@
#!/bin/bash

# 渲染蓝鲸的__VAR_NUM__ 类似的模板,通过环境变量自动替换它
set -o nounset # Treat unset variables as an error

set -a
BK_ENV_FILE=./ci_env_local.properties
[ -r $BK_ENV_FILE ] && source $BK_ENV_FILE
set +a

trap 'rm -f $sed_script' EXIT TERM
sed_script=$(mktemp /tmp/XXXXXX.sed)

usage () {
echo "Usage: $0 [-c] [-n] [-E k=v, -E k=v] tpl_path ..."
}

usage_and_exit () {
usage
exit $1
}

target_file_path () {
local module=$MODULE
local tpl_file=${1##*/}
local _target_file
_target_file=../$module/${tpl_file//#//}

echo ${_target_file%.tpl}
}

[[ $# -eq 0 ]] && usage_and_exit 1
declare -i DRY_RUN=0 CHECK=0
declare MODULE=""
declare -a EXTRA_ENV=()

while getopts ncm:E: arg; do
case $arg in
n) DRY_RUN=1 ;;
c) CHECK=1 ;;
m) MODULE="$OPTARG" ;;
E) EXTRA_ENV+=("$OPTARG") ;;
*) usage_and_exit 0 ;;
esac
done
shift $((OPTIND - 1))

# 校验必须变量
if [[ -z $INSTALL_PATH ]]; then
echo "INSTALL_PATH 变量不能为空。"
exit 1
fi
place_holders=$(cat $* 2>/dev/null | grep -wEo '__[0-9A-Z_]+__' | sort -u)

set +u
for p in $place_holders
do
k=$(echo $p | sed 's/^__//; s/__$//;')
v=${!k}
[[ $CHECK -eq 1 ]] && [[ -z "$v" ]] && echo "EMPTY PLACE_HOLDER: $p"
echo "s|$p|$v|g" >> $sed_script
done
set -u
unset p k v

# 仅检查变量
[[ $CHECK -eq 1 ]] && exit 0

for file in "$@"; do
# 是否真正替换变量到目标路径
if [[ $DRY_RUN -eq 0 ]]; then
target_file=$(target_file_path $file)
echo "render $file -> $target_file"
mkdir -p ${target_file%/*}
sed -f $sed_script $file > $target_file
else
sed -f $sed_script $file
fi
done

0 comments on commit eabcab3

Please sign in to comment.