diff --git a/Dockerfile.local b/Dockerfile.local index c08719aa..ed4e7e96 100644 --- a/Dockerfile.local +++ b/Dockerfile.local @@ -1,4 +1,3 @@ - FROM golang:1.12 AS backend-build WORKDIR /go/src/app @@ -9,7 +8,7 @@ ENV GOPROXY https://mirrors.aliyun.com/goproxy/ RUN go install -v ./... -FROM node:8.16.0-alpine AS frontend-build +FROM node:8.16.0 AS frontend-build ADD ./frontend /app WORKDIR /app diff --git a/Jenkinsfile b/Jenkinsfile index b22488cc..64d123f8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -11,7 +11,7 @@ pipeline { echo "Running Setup..." script { if (env.GIT_BRANCH == 'develop') { - env.MODE = 'test' + env.MODE = 'develop' } else if (env.GIT_BRANCH == 'master') { env.MODE = 'production' } else { @@ -24,7 +24,7 @@ pipeline { steps { echo "Building..." sh """ - docker build -t tikazyq/crawlab:latest . + docker build -t tikazyq/crawlab:latest -f Dockerfile.local . """ } } @@ -37,13 +37,9 @@ pipeline { steps { echo 'Deploying....' sh """ - docker rm -f crawlab | true - docker run -d --rm --name crawlab \ - -p 8080:8080 \ - -p 8000:8000 \ - -v /home/yeqing/.env.production:/opt/crawlab/frontend/.env.production \ - -v /home/yeqing/config.py:/opt/crawlab/crawlab/config/config.py \ - tikazyq/crawlab master + cd ./jenkins + docker-compose stop | true + docker-compose up -d """ } } diff --git a/README-zh.md b/README-zh.md index 0b4d9849..5203cd66 100644 --- a/README-zh.md +++ b/README-zh.md @@ -1,6 +1,6 @@ # Crawlab -![](http://114.67.75.98:8081/buildStatus/icon?job=crawlab%2Fdevelop) +![](http://114.67.75.98:8082/buildStatus/icon?job=crawlab%2Fdevelop) ![](https://img.shields.io/badge/版本-v0.3.0-blue.svg) @@ -50,19 +50,19 @@ docker run -d --rm --name crawlab \ tikazyq/crawlab:0.3.0 ``` -当然也可以用`docker-compose`来一键启动,甚至不用配置MongoDB和Redis数据库。在当前目录中创建`docker-compose.yml`文件,输入以下内容。 +当然也可以用`docker-compose`来一键启动,甚至不用配置MongoDB和Redis数据库,**当然我们推荐这样做**。在当前目录中创建`docker-compose.yml`文件,输入以下内容。 ```bash version: '3.3' services: master: image: tikazyq/crawlab:latest - container_name: crawlab-master + container_name: master environment: - CRAWLAB_API_ADDRESS: "192.168.99.100:8000" + CRAWLAB_API_ADDRESS: "localhost:8000" CRAWLAB_SERVER_MASTER: "Y" CRAWLAB_MONGO_HOST: "mongo" - CRAWLAB_REDIS_ADDRESS: "redis:6379" + CRAWLAB_REDIS_ADDRESS: "redis" ports: - "8080:8080" # frontend - "8000:8000" # backend diff --git a/README.md b/README.md index 8da20e5a..fa3c5625 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Crawlab -![](http://114.67.75.98:8081/buildStatus/icon?job=crawlab%2Fdevelop) +![](http://114.67.75.98:8082/buildStatus/icon?job=crawlab%2Fdevelop) ![](https://img.shields.io/badge/version-v0.3.0-blue.svg) @@ -58,12 +58,12 @@ version: '3.3' services: master: image: tikazyq/crawlab:latest - container_name: crawlab-master + container_name: master environment: - CRAWLAB_API_ADDRESS: "192.168.99.100:8000" + CRAWLAB_API_ADDRESS: "localhost:8000" CRAWLAB_SERVER_MASTER: "Y" CRAWLAB_MONGO_HOST: "mongo" - CRAWLAB_REDIS_ADDRESS: "redis:6379" + CRAWLAB_REDIS_ADDRESS: "redis" ports: - "8080:8080" # frontend - "8000:8000" # backend diff --git a/backend/conf/config.yml b/backend/conf/config.yml index 3e7aa234..30b7e786 100644 --- a/backend/conf/config.yml +++ b/backend/conf/config.yml @@ -7,8 +7,10 @@ mongo: username: "" password: "" redis: - network: tcp - address: "localhost:6379" + address: localhost + password: "" + database: 1 + port: 6379 log: level: info path: "/var/logs/crawlab" diff --git a/backend/database/redis.go b/backend/database/redis.go index 17382122..ffebf776 100644 --- a/backend/database/redis.go +++ b/backend/database/redis.go @@ -103,10 +103,18 @@ func (r *Redis) HKeys(collection string) ([]string, error) { } func GetRedisConn() (redis.Conn, error) { - c, err := redis.Dial( - viper.GetString("redis.network"), - viper.GetString("redis.address"), - ) + var address = viper.GetString("redis.address") + var port = viper.GetString("redis.port") + var database = viper.GetString("redis.database") + var password = viper.GetString("redis.password") + + var url string + if password == "" { + url = "redis://" + address + ":" + port + "/" + database + } else { + url = "redis://x:" + password + "@" + address + ":" + port + "/" + database + } + c, err := redis.DialURL(url) if err != nil { debug.PrintStack() return c, err diff --git a/docker-compose.yml b/docker-compose.yml index 8b7019f9..d44d5024 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,12 +2,12 @@ version: '3.3' services: master: image: tikazyq/crawlab:latest - container_name: crawlab-master + container_name: master environment: - CRAWLAB_API_ADDRESS: "192.168.99.100:8000" + CRAWLAB_API_ADDRESS: "localhost:8000" CRAWLAB_SERVER_MASTER: "Y" CRAWLAB_MONGO_HOST: "mongo" - CRAWLAB_REDIS_ADDRESS: "redis:6379" + CRAWLAB_REDIS_ADDRESS: "redis" ports: - "8080:8080" # frontend - "8000:8000" # backend @@ -16,11 +16,11 @@ services: - redis worker: image: tikazyq/crawlab:latest - container_name: crawlab-worker + container_name: worker environment: CRAWLAB_SERVER_MASTER: "N" CRAWLAB_MONGO_HOST: "mongo" - CRAWLAB_REDIS_ADDRESS: "redis:6379" + CRAWLAB_REDIS_ADDRESS: "redis" depends_on: - mongo - redis diff --git a/jenkins/docker-compose.yml b/jenkins/docker-compose.yml new file mode 100644 index 00000000..57c85e1e --- /dev/null +++ b/jenkins/docker-compose.yml @@ -0,0 +1,36 @@ +version: '3.3' +services: + master: + image: tikazyq/crawlab:latest + container_name: master + environment: + CRAWLAB_API_ADDRESS: "114.67.75.98:8000" + CRAWLAB_SERVER_MASTER: "Y" + CRAWLAB_MONGO_HOST: "mongo" + CRAWLAB_REDIS_ADDRESS: "redis" + ports: + - "8080:8080" # frontend + - "8000:8000" # backend + depends_on: + - mongo + - redis + worker: + image: tikazyq/crawlab:latest + container_name: worker + environment: + CRAWLAB_SERVER_MASTER: "N" + CRAWLAB_MONGO_HOST: "mongo" + CRAWLAB_REDIS_ADDRESS: "redis" + depends_on: + - mongo + - redis + mongo: + image: mongo:latest + restart: always + ports: + - "27017:27017" + redis: + image: redis:latest + restart: always + ports: + - "6379:6379" \ No newline at end of file