github
github 镜像仓库
Github Container Registry
9 月 1 日,GitHub 宣布 Github Container Registry 开始公测,测试期间提供免费、无限容量的 Docker 镜像仓库服务。
再也不用担心,docker.io 一言不合清理镜像了。真好真香!
GitHub 正在以托管代码仓库为切入点,逐步覆盖整个研发工具链,打造一站式 DevOps 平台。项目管理有 Issues 、Projects,包管理有 Packages,CI 有 Actions,知识管理有 Wiki ,覆盖面越来越广。
接下来应该就是 CD 部分了,提供容器托管服务是个不错的选择。@GitHub
推送第一个镜像
下面我们来试试推送一个镜像。
创建登陆 Token 并进行身份验证
Github Container registry 需要使用 https://github.com/settings/tokens/new 页面创建的 Token 作为密码才可以推送镜像。
页面操作:找到个人 Settings 点击侧栏 Developer settings 找到 Personal access tokens 创建新的 token
打开上面的链接,勾选 write:packages 和 read:packages ,repo 会自动选中,创建 Token。
下面以 XXX 代指这里的 Token 值。
镜像推送
登陆
export CR_PAT=YOUR_TOKEN echo "$CR_PAT" | echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded
新建 Tag
#docker push ghcr.io/NAMESPACE/IMAGE_NAME:latest #将 NAMESPACE 替换为要作为映像限定范围的个人帐户或组织的名称 # 查看镜像列表 $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE tomcat 8.5.87-jre17-temurin-jammy ade987ac371b 3 months ago 285MB nginx latest 3f8a00f137a0 3 months ago 142MB # 新建 Tag $ docker tag 5dbe5b6313e1 ghcr.io/shaowenchen/mysql docker tag 3f8a00f137a0 ghcr.io/jaspervincent/nginx:v1 docker tag 3f8a00f137a0 ghcr.io/jaspervincent/ops/nginx:v1 docker tag ade987ac371b ghcr.io/jaspervincent/ops/tomcat:v8
推送
docker push ghcr.io/jaspervincent/nginx:v1 docker push ghcr.io/jaspervincent/ops/nginx:v1 docker push ghcr.io/jaspervincent/ops/tomcat:v8
这样就完成了镜像的推送。但是镜像并不是每个人都可以 pull ,下面接着来看下镜像的可见性管理。
可见性管理
推送完成镜像之后,在个人的主页 packages 标签页下面,可以看到镜像列表。
默认推送的镜像是 Private ,只有授权的账户才可以 pull 。而 Public 镜像可以匿名 pull ,没有限制。
- Private
在 Private 镜像的 Packages settings 页面,找到 Danger Zone 点击 Change visibility 可以将 Private 镜像改为 Public ,还可以进行授权的管理 Manage Access。
- Public
需要注意的是在 Public 镜像的 Packages settings 页面,无法修改镜像的可见性,只能删除镜像。
使用 GitHub Actions 发布和安装包
Github 作为图片仓库
issues 不灵了
- 创建 github 仓库
Issues 上传图片
新建一个 issues,写好标题,将准备好的图片拖进来,提交
编辑,复制连接地址
- 文档中引用图片
cdn 加速
- 创建 github 仓库
- 将需要上传的图片添加到库对应文件夹
通过jsDelivr引用资源
jsDelivr(https://jsdelivr.com)就是一种免费且快速的CDN,通过jsDelivr引用资源GIthub图片资源,即可实现图片加速。
使用方法:
https://cdn.jsdelivr.net/gh/你的用户名/你的仓库名@发布的版本号/文件路径 如: github图片连接: https://github.com/jaspervincent/pic/blob/master/webchat-ali-pay.jpg 改写后: https://cdn.jsdelivr.net/gh/jaspervincent/pic@master/webchat-ali-pay.jpg
其他的github cdn加速
https://cdn.jsdmirror.com 大于10MB的文件
https://cdn.jsdmirror.com/gh/jaspervincent/pic/webchat-ali-pay.jpg