Commit 8955f9df authored by 钟尚武's avatar 钟尚武

Merge branch 'master' into 'deploy/like-test'

fix drone

See merge request !129
parents 43c69328 8e577563
Pipeline #5009 passed with stage
kind: pipeline
name: like-saturn
steps:
- name: build-test
image: plugins/docker
when:
branch: deploy/like-test
instance:
exclude:
- cicd.iyanzhi.com
settings:
dockerfile: deploy/test/Dockerfile
registry: ccr.ccs.tencentyun.com
username: 100009168942
password: 3m4V#TMrUTSIebv1
repo: ccr.ccs.tencentyun.com/gm-ai/like-saturn
tags:
- ${DRONE_COMMIT}
- name: build-stage
image: plugins/docker
when:
branch: deploy/like-stage
instance:
exclude:
- cicd.gmapp.env
settings:
dockerfile: deploy/stage/Dockerfile
registry: ccr.ccs.tencentyun.com
username: 100009168942
password: 3m4V#TMrUTSIebv1
repo: ccr.ccs.tencentyun.com/gm-ai/like-saturn
tags:
- ${DRONE_COMMIT}
- name: build-prod
image: plugins/docker
when:
branch: deploy/like-prod
instance:
exclude:
- cicd.gmapp.env
settings:
dockerfile: deploy/prod/Dockerfile
registry: ccr.ccs.tencentyun.com
dockerfile: deploy/prod/Dockerfile
username: 100009168942
password: 3m4V#TMrUTSIebv1
repo: ccr.ccs.tencentyun.com/gm-ai/like-saturn
tags:
- ${DRONE_COMMIT}
- name: deploy-app
image: ccr.ccs.tencentyun.com/gm-ai/drone-kube:pre
environment:
repo: alpha/saturn
when:
branch:
- deploy/like-prod
- deploy/like-stage
instance:
exclude:
- cicd.gmapp.env
settings:
namespace: ${DRONE_BRANCH}
template: deploy.yaml
tag: ${DRONE_COMMIT}
- name: deploy-app-test
image: ccr.ccs.tencentyun.com/gm-ai/drone-kube:test
when:
branch:
- deploy/like-test
instance:
exclude:
- cicd.iyanzhi.com
environment:
repo: alpha/saturn
settings:
namespace: ${DRONE_BRANCH}
template: deploy.yaml
tag: ${DRONE_COMMIT}
trigger:
branch:
- deploy/*
image_pull_secrets:
- dockerconfig
...@@ -60,7 +60,7 @@ docs/_build/ ...@@ -60,7 +60,7 @@ docs/_build/
fabfile.py fabfile.py
settings.online.py settings.online.py
/gaia/settings.py /gaia/settings.py
settings_local.py /settings/settings_local.py
media/ media/
log/ log/
crawldata/ crawldata/
...@@ -85,4 +85,4 @@ gaia/rpcd.json ...@@ -85,4 +85,4 @@ gaia/rpcd.json
dbmw_deploy/config.dir/ dbmw_deploy/config.dir/
sms_config.json sms_config.json
app_conf.xml /app_conf.xml
\ No newline at end of file \ No newline at end of file
FROM python:3.6
ENV PATH="/usr/local/bin:$PATH"
COPY . /srv/apps/saturn/
WORKDIR /root/.ssh/
ADD ssh/id_rsa .
ADD ./sources.list /etc/apt/sources.list
WORKDIR /srv/apps/saturn/
RUN chmod -R 600 /root/.ssh/id_rsa \
&& echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config \
&& mkdir -p /data/log/saturn/app
RUN apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 3B4FE6ACC0B21F32 \
&& apt-get -y update && apt-get -y install mysql-client libmysqlclient-dev \
&& apt-get clean \
&& apt-get autoclean \
&& rm -rf /var/lib/apt/lists/*
RUN pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
CMD bash -c 'source ~/.bashrc && gunicorn saturn.wsgi:application -w 16 -b 0.0.0.0:80 -k gevent'
...@@ -3,6 +3,7 @@ import os ...@@ -3,6 +3,7 @@ import os
from datetime import datetime from datetime import datetime
import json import json
import requests import requests
import random
from random import randint from random import randint
from django.core.management import BaseCommand from django.core.management import BaseCommand
from engine.rpc import rpc_invoker from engine.rpc import rpc_invoker
...@@ -16,7 +17,7 @@ from engine.logger import info_logger, error_logger, logging_exception ...@@ -16,7 +17,7 @@ from engine.logger import info_logger, error_logger, logging_exception
IMAGE_SUFFIX = '-w' IMAGE_SUFFIX = '-w'
FILE_PATH = '/Users/haowei/Desktop/xhs/' FILE_PATH = '/srv/apps/saturn/xiaohongshu/'
class Command(BaseCommand): class Command(BaseCommand):
...@@ -37,40 +38,48 @@ class Command(BaseCommand): ...@@ -37,40 +38,48 @@ class Command(BaseCommand):
second_pictorial_error_comments = [] second_pictorial_error_comments = []
second_reply_error_create = [] second_reply_error_create = []
shadow_user_ids = []
def del_cache(self): def del_cache(self):
for obj in self.del_cache_keys: for obj in self.del_cache_keys:
ins_cache.delete(obj) ins_cache.delete(obj)
def load_shadow_users(self):
data = rpc_invoker['venus/community/crawl/load_shawdow_user'](
start_user_id=self.user_id_start,
end_user_id=self.user_id_start + 5000
).unwrap()
self.shadow_user_ids = data
def get_random_user_id(self): def get_random_user_id(self):
# 随机获取用户ID # 随机获取用户ID
while True: return random.choice(self.shadow_user_ids)
index = randint(0, 5000) # while True:
user_id = self.user_id_start + index # index = randint(0, 5000)
data = rpc_invoker['venus/community/user/is_shadow'](user_id=user_id).unwrap() # user_id = self.user_id_start + index
if not data: # data = rpc_invoker['venus/community/user/is_shadow'](user_id=user_id).unwrap()
continue # if not data:
ret = data.get('user_id') # continue
if ret: # ret = data.get('user_id')
return user_id # if ret:
# return user_id
def get_user_id(self, id_, platform): def get_user_id(self, id_, platform):
# 获取用户ID 缓存记录保留用户关系 # 获取用户ID 缓存记录保留用户关系
cache_key = 'grap:{}:{}'.format(platform, id_) cache_key = 'grap:{}:{}'.format(platform, id_)
exist_key = 'grap:{}:{}' # exist_key = 'grap:{}:{}'
value = ins_cache.get(cache_key) value = ins_cache.get(cache_key)
user_id = None # user_id = None
if not value: if not value:
while True: # while True:
user_id = self.get_random_user_id() user_id = self.get_random_user_id()
exist = exist_key.format(platform, user_id) # exist = exist_key.format(platform, user_id)
if not ins_cache.get(exist): # if not ins_cache.get(exist):
ins_cache.set(exist, id_) # ins_cache.set(exist, id_)
self.del_cache_keys.append(exist) # self.del_cache_keys.append(exist)
break # break
ins_cache.set(cache_key, user_id) # ins_cache.set(cache_key, user_id)
self.del_cache_keys.append(exist) # self.del_cache_keys.append(exist)
else: else:
user_id = int(value) user_id = int(value)
return user_id return user_id
...@@ -107,7 +116,7 @@ class Command(BaseCommand): ...@@ -107,7 +116,7 @@ class Command(BaseCommand):
# 获取图片宽高 # 获取图片宽高
try: try:
url = image_url + IMAGE_SUFFIX + '?imageInfo' url = image_url + IMAGE_SUFFIX + '?imageInfo'
response = requests.request("GET", url) response = requests.request("GET", url, timeout=3)
info = response.json() info = response.json()
return info.get('width'), info.get('height') return info.get('width'), info.get('height')
except Exception as e: except Exception as e:
...@@ -153,7 +162,7 @@ class Command(BaseCommand): ...@@ -153,7 +162,7 @@ class Command(BaseCommand):
def create_topic(self, topics, platform): def create_topic(self, topics, platform):
count = 0 count = 0
for topic in topics[:100]: for topic in topics:
count += 1 count += 1
topic_comments = topic.pop('comments', None) topic_comments = topic.pop('comments', None)
images = topic.pop('image') images = topic.pop('image')
...@@ -255,7 +264,7 @@ class Command(BaseCommand): ...@@ -255,7 +264,7 @@ class Command(BaseCommand):
return None, None return None, None
def handle(self, *args, **options): def handle(self, *args, **options):
self.load_shadow_users()
platform = 4 platform = 4
# 帖子 # 帖子
print('----- start deal topic at {} -----'.format(datetime.now().strftime('%Y-%m-%d %H:%M:%S %f'))) print('----- start deal topic at {} -----'.format(datetime.now().strftime('%Y-%m-%d %H:%M:%S %f')))
...@@ -269,7 +278,7 @@ class Command(BaseCommand): ...@@ -269,7 +278,7 @@ class Command(BaseCommand):
print('----- start deal pictorial at {} -----'.format(datetime.now().strftime('%Y-%m-%d %H:%M:%S %f'))) print('----- start deal pictorial at {} -----'.format(datetime.now().strftime('%Y-%m-%d %H:%M:%S %f')))
pictorial_data = self.get_json_data_from_dir(is_pictorial=1) pictorial_data = self.get_json_data_from_dir(is_pictorial=1)
count = 0 count = 0
for pictorial in pictorial_data[:50]: for pictorial in pictorial_data:
count += 1 count += 1
print('------- current pictorial count :', count) print('------- current pictorial count :', count)
self.create_pictorial(pictorial=pictorial, platform=platform) self.create_pictorial(pictorial=pictorial, platform=platform)
......
...@@ -139,7 +139,7 @@ class Command(BaseCommand): ...@@ -139,7 +139,7 @@ class Command(BaseCommand):
for info in reply: for info in reply:
for image in info["images"]: for image in info["images"]:
counter[image] += 1 counter[image] += 1
comment["images"] = [url for url, count in counter if count > 1] comment["images"] = [url for url, count in counter.items() if count > 1]
for info in reply: for info in reply:
if self.filter_second_comment(info["content"], comment["images"], info["images"]): if self.filter_second_comment(info["content"], comment["images"], info["images"]):
......
...@@ -9,7 +9,7 @@ from PIL import Image ...@@ -9,7 +9,7 @@ from PIL import Image
def upload_image(url, img_type=IMG_TYPE.TOPIC): def upload_image(url, img_type=IMG_TYPE.TOPIC):
'''非站内图片处理''' '''非站内图片处理'''
try: try:
response = requests.get(url) response = requests.get(url, timeout=3)
return upload(response.content, img_type=img_type) return upload(response.content, img_type=img_type)
except: except:
return None return None
......
branches=(
feature/alpha_types
feature/tmp_rm_sensitive
feature/user_list
feature/weibo
haow/batch_create_topic
haow/check_content
haow/dev
haow/home/dev
haow/hotfix
haow/new
haow/pin_crawl
haow/tag
honghsu
hotfix/NoneType
hotfix/Sensitive
hotfix/strip
hotfix/tags_name_repeat
hotfix/topic_repeat
hotfix/user_id_check
jackie/dev
revert-13a16f48
shangwu/hotfix-xiaohongshu
user_level_deal_with
ycl/fix
ycl/location
ycl/location_test
yingjie/ins_account_exist
)
for branch_name in ${branches[@]}
do
git push origin :$branch_name
done
# service
apiVersion: v1
kind: Service
metadata:
name: saturn
spec:
ports:
- name: tcp-80-80
port: 80
protocol: TCP
targetPort: 80
selector:
release: saturn
sessionAffinity: None
type: ClusterIP
---
# deployment
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
app: saturn
release: saturn
name: saturn
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: saturn
release: saturn
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
app: saturn
release: saturn
spec:
containers:
- command:
- /bin/bash
- -c
- gunicorn saturn.wsgi:application --bind=0.0.0.0:80 --workers=16 --worker-class=gevent
--worker-connections=1024 --timeout 600
image: ccr.ccs.tencentyun.com/gm-ai/like-saturn:<IMAGE_TAG>
imagePullPolicy: Always
name: saturn
ports:
- containerPort: 80
name: http
protocol: TCP
imagePullSecrets:
- name: gm-secret
restartPolicy: Always
\ No newline at end of file
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
apiVersion: v1
appVersion: "1.0"
description: A Helm chart for Kubernetes
name: deploy
version: 0.1.0
FROM ccr.ccs.tencentyun.com/gm-ai/like-configs:prod as configs
FROM ccr.ccs.tencentyun.com/gm-ai/alpha-python:3.6
COPY --from=configs /etc/gm-config /etc/gm-config
RUN mkdir -p /data/log/saturn/app
COPY ./requirements.txt /srv/apps/saturn/
WORKDIR /srv/apps/saturn/
RUN pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
COPY . .
ENV GM_RPCD_DEPLOY_CONF_PATH="/srv/apps/saturn/app_conf.xml"
ENV PROJECT_ENV=prod
COPY ./deploy/prod/app_conf.xml .
COPY ./deploy/prod/settings_local.py ./settings/
CMD bash -c 'source ~/.bashrc && gunicorn saturn.wsgi:application -w 4 -b 0.0.0.0:80 -k gevent'
<?xml version="1.0" encoding="utf-8"?>
<gm_rpcd_config>
<info config_name="app" version="1.0"/>
<config name="log_dir" value="/data/log/saturn/app"/>
<config name="sentry_dsn" value="http://39f1236352c04a80826878f459ef1b05:333fbf94113c4879addaf656f233eb8e@sentry.igengmei.com/138"/>
<config name="application_name" value="saturn"/>
<config name="service_list">
<element value="saturn"/>
</config>
<config name="initializer_list">
<element value="saturn.django_init"/>
</config>
</gm_rpcd_config>
\ No newline at end of file
import helios
DEBUG = False
# QINIU_ACCESS_KEY = "ln5otz9s46t3LcpAFXcA1faYO8y1K34f6cvVBXiz"
# QINIU_SECRET_KEY = "hDZJAfVecAn0qj3pCONyd9ba-cTiekQZs2HIJalI"
SENTRY_CELERY_ENDPOINT = 'http://2ee4f9dbe16747da9ac504cc62deace2:37bcd9464f1d47a99b2b72e777f322f4@sentry.gengmei.cc/26'
# ALLOWED_HOSTS = ["xxx"]
USER_COOKIE_NAME = 'sessionid'
RPC_INVOKER = helios.rpc.create_default_invoker(debug=DEBUG)
#DEBUG_PROPAGATE_EXCEPTIONS = True
TMP_STATIC_DOMAIN = "earth.igengmei.com"
SESSION_COOKIE_DOMAIN_IGENGMEI = '127.0.0.1'
REDIS_HOST = '172.17.40.145'
REDIS_GROUP = {
'pick_cache': {'host': REDIS_HOST, 'port': 6379, 'db': 1, 'password': 'zi1jlhVHtH8MGNqB'},
'ins_cache': {'host': REDIS_HOST, 'port': 6379, 'db': 1, 'password': 'zi1jlhVHtH8MGNqB'},
}
\ No newline at end of file
FROM ccr.ccs.tencentyun.com/gm-ai/like-configs:stage as configs
FROM ccr.ccs.tencentyun.com/gm-ai/alpha-python:3.6
COPY --from=configs /etc/gm-config /etc/gm-config
RUN mkdir -p /data/log/saturn/app
COPY ./requirements.txt /srv/apps/saturn/
WORKDIR /srv/apps/saturn/
RUN pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
COPY . .
ENV GM_RPCD_DEPLOY_CONF_PATH="/srv/apps/saturn/app_conf.xml"
ENV PROJECT_ENV=stage
COPY ./deploy/stage/app_conf.xml .
COPY ./deploy/stage/settings_local.py ./settings/
CMD bash -c 'source ~/.bashrc && gunicorn saturn.wsgi:application -w 4 -b 0.0.0.0:80 -k gevent'
<?xml version="1.0" encoding="utf-8"?>
<gm_rpcd_config>
<info config_name="app" version="1.0"/>
<config name="log_dir" value="/data/log/saturn/app"/>
<config name="sentry_dsn" value="http://39f1236352c04a80826878f459ef1b05:333fbf94113c4879addaf656f233eb8e@sentry.igengmei.com/138"/>
<config name="application_name" value="saturn"/>
<config name="service_list">
<element value="saturn"/>
</config>
<config name="initializer_list">
<element value="saturn.django_init"/>
</config>
</gm_rpcd_config>
\ No newline at end of file
import helios
DEBUG = False
# QINIU_ACCESS_KEY = "ln5otz9s46t3LcpAFXcA1faYO8y1K34f6cvVBXiz"
# QINIU_SECRET_KEY = "hDZJAfVecAn0qj3pCONyd9ba-cTiekQZs2HIJalI"
SENTRY_CELERY_ENDPOINT = 'http://2ee4f9dbe16747da9ac504cc62deace2:37bcd9464f1d47a99b2b72e777f322f4@sentry.gengmei.cc/26'
# ALLOWED_HOSTS = ["xxx"]
USER_COOKIE_NAME = 'sessionid'
RPC_INVOKER = helios.rpc.create_default_invoker(debug=DEBUG)
#DEBUG_PROPAGATE_EXCEPTIONS = True
TMP_STATIC_DOMAIN = "earth.igengmei.com"
SESSION_COOKIE_DOMAIN_IGENGMEI = '127.0.0.1'
REDIS_HOST = '172.17.40.145'
REDIS_GROUP = {
'pick_cache': {'host': REDIS_HOST, 'port': 6379, 'db': 1, 'password': 'zi1jlhVHtH8MGNqB'},
'ins_cache': {'host': REDIS_HOST, 'port': 6379, 'db': 1, 'password': 'zi1jlhVHtH8MGNqB'},
}
\ No newline at end of file
1. Get the application URL by running these commands:
{{- if .Values.ingress.enabled }}
{{- range .Values.ingress.hosts }}
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ . }}{{ $.Values.ingress.path }}
{{- end }}
{{- else if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "deploy.fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get svc -w {{ include "deploy.fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "deploy.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:{{ .Values.service.port }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ include "deploy.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl port-forward $POD_NAME 8080:80
{{- end }}
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "deploy.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "deploy.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "deploy.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
apiVersion: v1
kind: ConfigMap
metadata:
name: saturn-app-conf
namespace: like-test
data:
app_conf.xml: |-
<?xml version="1.0" encoding="utf-8"?>
<gm_rpcd_config>
<info config_name="app" version="1.0"/>
<config name="sentry_dsn" value="http://39f1236352c04a80826878f459ef1b05:333fbf94113c4879addaf656f233eb8e@sentry.igengmei.com/138"/>
<config name="application_name" value="earth"/>
<config name="service_list">
<element value="earth"/>
</config>
<config name="initializer_list">
<element value="earth.django_init"/>
</config>
</gm_rpcd_config>
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: {{ include "deploy.fullname" . }}
labels:
app: {{ include "deploy.name" . }}
chart: {{ include "deploy.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
app: {{ include "deploy.name" . }}
release: {{ .Release.Name }}
template:
metadata:
labels:
app: {{ include "deploy.name" . }}
release: {{ .Release.Name }}
spec:
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: http
containerPort: 80
protocol: TCP
volumeMounts:
- name: log
mountPath: /data/log/saturn/app
- mountPath: /etc/gm-config/storage/static.dir/gm_logging.dir/
name: logging-global
- mountPath: /etc/gm-config/storage/static.dir/helios.dir/
name: helios-global
- mountPath: /etc/gm-config/storage/static.dir/gm_mq.dir/
name: mq-global
- mountPath: /etc/gm-config/storage/static.dir/dev_env.dir/
name: dev-env-global
- mountPath: /etc/gm-config/storage/static.dir/gm_shield.dir/
name: shield-global
- name: saturn-settings-local
mountPath: /srv/apps/saturn/settings/settings_local.py
readOnly: true
subPath: settings_local.py
- mountPath: /srv/apps/saturn/app_conf.xml
name: saturn-app-conf
subPath: app_conf.xml
imagePullSecrets:
- name: {{ .Values.image.pullSecret }}
volumes:
- name: log
hostPath:
path: /data/log/saturn/app
- configMap:
items:
- key: global_important_sentry.json
path: global_important_sentry.json
- key: kafka.json
path: kafka.json
name: logging-global
name: logging-global
- configMap:
items:
- key: static_route_table.json
path: static_route_table.json
name: helios-global
name: helios-global
- configMap:
items:
- key: celery.json
path: celery.json
name: mq-global
name: mq-global
- configMap:
items:
- key: resource.json
path: resource.json
name: dev-env-global
name: dev-env-global
- configMap:
items:
- key: shield.json
path: shield.json
name: shield-global
name: shield-global
- name: saturn-settings-local
configMap:
name: saturn-settings-local
items:
- key: settings_local.py
path: settings_local.py
- name: saturn-app-conf
configMap:
name: saturn-app-conf
items:
- key: app_conf.xml
path: app_conf.xml
\ No newline at end of file
apiVersion: v1
kind: ConfigMap
metadata:
name: saturn-settings-local
namespace: like-test
data:
settings_local.py: |-
import helios
DEBUG = True
# QINIU_ACCESS_KEY = "ln5otz9s46t3LcpAFXcA1faYO8y1K34f6cvVBXiz"
# QINIU_SECRET_KEY = "hDZJAfVecAn0qj3pCONyd9ba-cTiekQZs2HIJalI"
SENTRY_CELERY_ENDPOINT = 'http://45b0ef6a79204d6988b59c32c9dd4bef:fa018677fb4f49be88d2ba61cdc7ee32@sentry.igengmei.com/135'
REDIS_HOST = '172.21.52.8'
REDIS_GROUP = {
'ins_cache': {'host': REDIS_HOST, 'port': 6379, 'db': 1, 'password': 'Gengmei123'},
}
# ALLOWED_HOSTS = ["xxx"]
USER_COOKIE_NAME = 'sessionid'
RPC_INVOKER = helios.rpc.create_default_invoker(debug=DEBUG)
DEBUG_PROPAGATE_EXCEPTIONS = True
TMP_STATIC_DOMAIN = "earth.igengmei.com"
SESSION_COOKIE_DOMAIN_IGENGMEI = '127.0.0.1'
\ No newline at end of file
FROM ccr.ccs.tencentyun.com/gm-ai/like-configs:test as configs
FROM ccr.ccs.tencentyun.com/gm-ai/alpha-python:3.6
COPY --from=configs /etc/gm-config /etc/gm-config
RUN mkdir -p /data/log/saturn/app
COPY ./requirements.txt /srv/apps/saturn/
WORKDIR /srv/apps/saturn/
RUN pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
COPY . .
ENV GM_RPCD_DEPLOY_CONF_PATH="/srv/apps/saturn/app_conf.xml"
ENV PROJECT_ENV=test
COPY ./deploy/test/app_conf.xml .
COPY ./deploy/test/settings_local.py ./settings/
CMD bash -c 'source ~/.bashrc && gunicorn saturn.wsgi:application -w 4 -b 0.0.0.0:80 -k gevent'
<?xml version="1.0" encoding="utf-8"?>
<gm_rpcd_config>
<info config_name="app" version="1.0"/>
<config name="log_dir" value="/data/log/saturn/app"/>
<config name="sentry_dsn" value="http://39f1236352c04a80826878f459ef1b05:333fbf94113c4879addaf656f233eb8e@sentry.igengmei.com/138"/>
<config name="application_name" value="saturn"/>
<config name="service_list">
<element value="saturn"/>
</config>
<config name="initializer_list">
<element value="saturn.django_init"/>
</config>
</gm_rpcd_config>
\ No newline at end of file
import helios
DEBUG = True
# QINIU_ACCESS_KEY = "ln5otz9s46t3LcpAFXcA1faYO8y1K34f6cvVBXiz"
# QINIU_SECRET_KEY = "hDZJAfVecAn0qj3pCONyd9ba-cTiekQZs2HIJalI"
SENTRY_CELERY_ENDPOINT = 'http://45b0ef6a79204d6988b59c32c9dd4bef:fa018677fb4f49be88d2ba61cdc7ee32@sentry.igengmei.com/135'
REDIS_HOST = '172.21.52.8'
REDIS_GROUP = {
'ins_cache': {'host': REDIS_HOST, 'port': 6379, 'db': 1, 'password': 'Gengmei123'},
}
# ALLOWED_HOSTS = ["xxx"]
USER_COOKIE_NAME = 'sessionid'
RPC_INVOKER = helios.rpc.create_default_invoker(debug=DEBUG)
DEBUG_PROPAGATE_EXCEPTIONS = True
TMP_STATIC_DOMAIN = "earth.igengmei.com"
SESSION_COOKIE_DOMAIN_IGENGMEI = '127.0.0.1'
\ No newline at end of file
# Default values for deploy.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
repository: ccr.ccs.tencentyun.com/gm-ai/saturn-test
tag: latest
pullPolicy: Always
pullSecret: gm-secret
nameOverride: ""
fullnameOverride: ""
service:
type: ClusterIP
port: 80
ingress:
enabled: false
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
path: /
hosts:
- chart-example.local
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAvnSXGsqnlSxWVh9e4U40lWeV1f8DOD4B/atSjfxU9CJaSisc
xtmcLcyRY91lwx2OJJ0GvTx0DBifYBRsvpu8zrG33QQgr+StuJlIKUMlCXzaqsVt
u4wWgSLRks1nKFXVL4yIsKDxUAc60abHB3x9ygM+pS182iZAaW7yowe/E05IvnkU
jLifQRgQ2jLpgOmlxI+X2BDw988exIlwqfdErmEe06DMjuCbLnhbOUhD+Q88Xtn6
7UfxN4IiQTkRai405ZEhr5QKnqmx4RQF5Am+00p8caDksOQQYYQ0sKt+52rUnwfS
p7TQw6A+1QCZtaz3Sdbvhmace2mlC/Ekl2ZVCQIDAQABAoIBACEFkAl6J7JKnLGU
ANxptd5NtoIDFCjVP30fDlJF9OjbZ/JCJVwo8NZUCMVa5sD8x997RmbbK3fJcSC0
ieJGmGbyE2IDzDMTIDfIg+V7mdlaR4OidZM2B9TeF54vdPpeX3c+E5kkXpK0njMp
ioq2wAydoWf8ShB832Aod3Ni7XNIK6QtAQEWwJTPSbXLXx6+X8JIRoVFpZmNLkOA
MG1ElGPRH5fm92D/ZYfBMkDqPUFQF28f96MazD8EFDGRyOU/rpi4pIa+fZJYlIm1
ICzpk8UvSgg3xEWRhSvzoCixdxdVToX4JCZ8jSO6IlqDwa22WmB3rhjCVP3Ctbog
kStqizECgYEA8KRXxt78XVDKcW6Ydv2wmeN2JSQxxKgypU6Ux6amF8WY+0OThCdL
JDfva+ada04UVNdJ/dz3NDBr238e03pF8Z/gZp1NV3/m5rCARXrLIfxxCAVOae0P
nQVnBF270knUWM0vO6E+EhAzKlOcrTZXNQYdtGFic9IydNd1wXx98m0CgYEAypxK
JRny68YtKzwtaFlrgCkaJqGqExLglabskubFuh0g0878bLM4Ogpd514Z46ZUzUcv
859SQzGR48XGd7lUEZvQeAnCfalyl5dc/FDIiz/P2jiwjPvMGR6XVwWllJTWZwTc
H9TQ6ls3xigU9FO3ts0bEBqTVoGGl8xYWPHdq40CgYBbWDbNkaVAEsPVzQJo4KGh
uJsHPDb8DFC1OR/2rUaM7X/FmQAtAPFf/S+PyMlmiwvirJo0mCTqFZtLhXSBF//m
2SZILVvHZBCU7tiyBwuGihmpzsHWKZtsojlZie8awtWtI63TN8ClAKs7XOOzSFZQ
FVM/Plwt1NM8UPEtEgGI/QKBgQCT5w1VEiE7rfpRIme/Ue9gqiB17PO7Yr9hX245
Oo9CcnsBQ4sPSrET5XdxK0dY4JXtGDdP75DcjjYCgOCFi1tsU0MWLYG1u9l0AcGW
St5qkFWJ5nIzKKhv+d3eX7fkw9XTdD/AWNl9CsOnOqE5TlfA8O79jXja4EjBTSF9
JGp+DQKBgC04JCqYJ4jHTQLNCEh42tajL34K8VCltNWdHrAabnd9a16YqzsdVIZ/
xxOBghO9Xwhz666v8yh5TDGAR8XA9kCNbVxeDlqWP1oqWMpHXSwUN5Q7cH/l8M8F
YlQLOkFz4B9mSobZoiupYXS9mpe2kMase2FroYkTy6NFX8mKa93q
-----END RSA PRIVATE KEY-----
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment