跳转到主要内容

FourDigits CLI工具

项目描述

FourDigits CLI

一个命令行工具,用于使在Four Digits中的开发和部署更简单。

它具有以下命令

  1. "docker"
    • "build": 在我们的Gitlab CI管道中构建Docker镜像
    • "tag": 在注册表上的现有Docker标签上创建新的Docker标签
  2. "gitlab"
    • "fix-coverage-paths": 更改生成的coverage.xml,以便Gitlab可以在合并请求中显示覆盖率可视化
  3. "exonet"
    • "deploy": 将项目部署到Exonet
    • "db:download": 从Exonet下载数据库并在本地导入
    • "db:copy": 将一个环境中的数据库复制到另一个环境
  4. "docker-compose"
    • "sync": 将服务中的文件同步到本地文件夹
    • "sync:env": django:home/userapp/env -> env-docker的快捷方式

安装

pip install fourdigits-cli

升级

pip install --upgrade fourdigits-cli

启用自动完成

bash

将此添加到~/.bashrc

eval "$(_4D_COMPLETE=bash_source 4d)"
eval "$(_FOURDIGITS_COMPLETE=bash_source fourdigits)"

Zsh

将此添加到~/.zshrc

eval "$(_4D_COMPLETE=zsh_source 4d)"
eval "$(_FOURDIGITS_COMPLETE=zsh_source fourdigits)"

用法

安装后,cli工具在fourdigits4d下可用。有关更多信息,请使用

fourdigits --help

示例:构建Docker镜像并将其部署到测试环境

tst环境构建镜像并将其上传到我们的注册表

$ fourdigits docker build tst --push
Docker build image <docker_tag>
 - file=Dockerfile
 - context=.
 - target=None
Docker create tag <tmp_tag> -> docker-registry.fourdigits.nl/fourdigits/<project>:tst
Docker push tag docker-registry.fourdigits.nl/fourdigits/<project>:tst
Docker create tag <tmp_tag> -> docker-registry.fourdigits.nl/fourdigits/<project>:<docker_tag>
Docker push tag docker-registry.fourdigits.nl/fourdigits/wijsproductportals:<docker_tag>

要部署此到tst环境,请使用上一步中的docker_tag(而不是tmp_tag

$ fourdigits exonet deploy tst <docker_tag>
{"id":...,"number":<number>,...}

您可以在https://drone.exonet.nl/exonet/containers-fourdigits/上查看部署管道的进度。

故障排除

未授权

如果您收到

unauthorized: unauthorized to access repository: fourdigits/<project>, action: push: unauthorized to access repository: fourdigits/<project>, action: push

您需要登录到注册表

docker login
docker login docker-registry.fourdigits.nl

项目配置

该项目配置在pyproject.toml文件中,可用选项及其默认值

[project]
name = "default-project"

[tool.fourdigits]
exonet_project_name="<default is project name>"
docker_repo="<default is project name>"
slack_channel="<default is project name>"
docker_image_user="fourdigits"

[tool.fourdigits.envs.<environment anem>]
exonet_environment="<default is environment name>"
# Every setting can be overridden per environment
slack_channel="custom-channel"

示例项目具有独立的nextjs

[project]
name = "django-project"

[tool.fourdigits]
# default to project name

[tool.fourdigits.envs.tst]

[tool.fourdigits.envs.acc]

[tool.fourdigits.envs.prd]

[tool.fourdigits.envs.nextjs_tst]
exonet_project_name = "nextjs"
exonet_environment = "tst"
docker_repo = "nextjs"

[tool.fourdigits.envs.nextjs_acc]
exonet_project_name = "nextjs"
exonet_environment = "acc"
docker_repo = "nextjs"

[tool.fourdigits.envs.nextjs_prd]
exonet_project_name = "nextjs"
exonet_environment = "prd"
docker_repo = "nextjs"

开发

make develop

发布

要使新版本在PyPI上可用,请按照以下步骤操作

  1. 更新版本:编辑fourdigits_cli/__init__.py并提交。
  2. 运行:make push-version
  3. https://gitlab.com/fourdigits/utils/docker-pipeline-image/-/blob/main/Dockerfile中fourdigits-cli的安装更新到最新版本。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

fourdigits_cli-1.16.1.tar.gz (14.3 kB 查看哈希值)

上传时间 源代码

构建分发

fourdigits_cli-1.16.1-py3-none-any.whl (15.1 kB 查看哈希值)

上传时间 Python 3

支持