Compare commits

..

10 Commits

Author SHA1 Message Date
4861f6bc1a Update file Dockerfile 2024-03-27 08:05:55 +00:00
bf5a4dd215 Update file Dockerfile 2024-03-27 08:03:21 +00:00
f8ef8e6974 Update 2 files
- /update.py
- /.gitlab-ci.yml
2023-11-27 03:00:20 +00:00
4292292c68 Update update.py 2023-09-04 09:57:46 +00:00
50cde37de6 Update update.py 2023-09-04 09:55:27 +00:00
688c4c427b Update file update.py 2023-09-04 09:52:34 +00:00
538562700c Update file generate.py 2023-07-28 08:51:54 +00:00
afe2538e96 更新.gitlab-ci.yml文件 2023-07-28 06:37:24 +00:00
9f84eb5275 Update update.py 2023-07-28 06:31:32 +00:00
823b993680 更新.gitlab-ci.yml文件 2023-07-28 06:27:50 +00:00
4 changed files with 30 additions and 69 deletions

View File

@@ -1,46 +1,27 @@
stages: stages:
- generate - release
- build - test
variables: variables:
#CI_DEBUG_TRACE: "true" CI_APPLICATION_REPOSITORY: "$CI_REGISTRY_IMAGE"
CACHE_TTL: 2190h0m0s release-image:
image: docker:24.0.6
generate: stage: release
stage: generate rules:
image: python:3.11-alpine - if: "$CI_APPLICATION_TAG"
script:
- pip install -r requirements.txt
- ./update.py > tags.txt
artifacts:
expire_in: 1 hour
paths:
- tags.txt
build:
needs:
- job: generate
artifacts: true
image: docker:latest
stage: build
services:
- docker:dind
variables:
DOCKER_HOST: tcp://docker:2376
DOCKER_TLS_CERTDIR: "/certs"
DOCKER_TLS_VERIFY: 1
DOCKER_CERT_PATH: "$DOCKER_TLS_CERTDIR/client"
before_script: before_script:
- until docker info; do sleep 1; done - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
- docker info
script: script:
- | - |-
for tag in $(cat tags.txt); do export IMAGE_TAG=$CI_APPLICATION_REPOSITORY:$CI_APPLICATION_TAG
export IMAGE_TAG=$CI_REGISTRY_IMAGE:$tag echo $IMAGE_TAG
echo $IMAGE_TAG sed "s/latest/$CI_APPLICATION_TAG/g" Dockerfile > Dockerfile.tmp
sed "s/latest/$tag/g" Dockerfile > Dockerfile.tmp docker build . --pull -f Dockerfile.tmp -t $IMAGE_TAG
docker build . --pull -f Dockerfile.tmp -t $IMAGE_TAG docker push $IMAGE_TAG
docker push $IMAGE_TAG container_scanning:
done rules:
- if: "$CI_APPLICATION_TAG"
needs:
- release-image
include:
- template: Jobs/Container-Scanning.gitlab-ci.yml
- template: Security/Secret-Detection.gitlab-ci.yml

View File

@@ -1,6 +1,6 @@
FROM ghcr.dockerproxy.com/coder/coder:latest as base FROM ghcr.io/coder/coder:latest as base
FROM dockerproxy.com/library/python:3.10-alpine3.14 as replacer FROM python:3.10-alpine3.14 as replacer
COPY --from=base /opt/coder /coder COPY --from=base /opt/coder /coder

View File

@@ -33,7 +33,7 @@ def create_ed25519_pair(is_save=False):
f.write(public_key) f.write(public_key)
return public_key, private_key return public_key, private_key
# https://github.com/coder/coder/blob/e029df61ffbb15ada24bc1c25958fc16e364d740/codersdk/deployment.go#L37C1-L51C2
data = { data = {
"exp": 1706356587, "exp": 1706356587,
"nbf": 1674820527, "nbf": 1674820527,
@@ -53,6 +53,10 @@ data = {
"multiple_git_auth": 1, "multiple_git_auth": 1,
"scim": 1, "scim": 1,
"template_rbac": 1, "template_rbac": 1,
"workspace_proxy": 1,
"template_restart_requirement": 1
"advanced_template_scheduling": 1,
"user_role_management": 1,
"user_limit": 114514 "user_limit": 114514
} }
} }

View File

@@ -1,24 +0,0 @@
#!/usr/bin/env python3
import re
from dxf import DXF
from os import environ
dxf = DXF('ghcr.io', "coder/coder")
dxf.authenticate(actions=["pull"])
tags = dxf.list_aliases()
tags = [tag for tag in tags if re.match(
r"^v\d+\.\d+\.\d+$", tag) and int(tag.split('.')[1]) >= 27]
try:
local_dxf = DXF(environ['CI_REGISTRY'], environ['CI_PROJECT_PATH'])
local_dxf.authenticate(
environ['CI_REGISTRY_USER'], environ['CI_REGISTRY_PASSWORD'], actions=["pull"])
local_tags = local_dxf.list_aliases()
except:
local_tags = []
update_tags = set(tags) - set(local_tags)
update_tags.add('latest')
print(' '.join(update_tags))