当前位置: 首页 > news >正文

关于优化调整疫情防控相关措施海淀seo搜索优化多少钱

关于优化调整疫情防控相关措施,海淀seo搜索优化多少钱,男女做暖暖的视频试看网站,湖州疫情最新情况文章目录 前言配置流程注册ssh-keygit runner映射文件方法1 .gitlab-ci.yml使用方法2 docker build 实现 总结 前言 之所以写这篇文章是由于存在以下场景: 当前的项目编译需要依赖别的项目协同编译,如何将别的项目也pull到该项目里,编译成品…

文章目录

  • 前言
  • 配置流程
    • 注册ssh-key
    • git runner映射文件
    • 方法1 .gitlab-ci.yml使用
    • 方法2 docker build 实现
  • 总结

前言

之所以写这篇文章是由于存在以下场景:

当前的项目编译需要依赖别的项目协同编译,如何将别的项目也pull到该项目里,编译成品如何打包镜像并保存到registry中。

本文主要写在某项目进行CI流程编译时,如何拉取该项目依赖项目,中间会涉及到gitlab-runner的配置,runner运行服务器的配置,CI(.gitlab-ci.yml)流程文件编写,Dockerfile文件编写等。

配置流程

注册ssh-key

新注册一个gitlab_ci的账户拥有admin权限,在gitrunnr运行的服务器上生成新的ssh-key,博主使用的是ssh-rsa。生成添加方法可以参考如下博文——简单易用多git服务器ssh密钥配置管理

该文件保存在~/.ssh/id_rsa

git runner映射文件

[[runners]]name = "build"url = "http://gitlab.DOMAIN.com/"id = 7token = "*********"token_obtained_at = 2023-05-17T08:02:32Ztoken_expires_at = 0001-01-01T00:00:00Zexecutor = "docker"[runners.cache]MaxUploadedArchiveSize = 0[runners.docker]tls_verify = falseimage = "registry.gitlab.DOMAIN.com/docker_git:latest"#pull_policy = "if-not-present"privileged = falsedisable_entrypoint_overwrite = falseoom_kill_disable = falsedisable_cache = falsevolumes = ["/cache","/home/dev/.ssh:/home/dev/.ssh","/var/run/docker.sock:/var/run/docker.sock"]shm_size = 0

这里添加.ssh文件夹的映射,docker.sock lock在docker in docker时使用。

方法1 .gitlab-ci.yml使用

.build:image: registry.gitlab.DOMAIN.com/docker_git:lateststage: testbefore_script:- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client git -y )'- eval $(ssh-agent -s)- ssh-add ~/.ssh/id_rsa- ssh -T git@gitlab.DOMAIN.comafter_script:- rm -rf build install

跑CI可以看到输出的ssh访问成功

Welcome to GitLab, @gitlab_ci!

本文结合如下几种方法综合实现,官网教程如下:

Using SSH keys with GitLab CI/CD| GitLab

Docker executor | GitLab

方法2 docker build 实现

这个需要在方法一的基础上去做,大概原理是通过ssh-agent做代理,docker build时将ssh相关参数传入docker中使其能够调用ssh-key。

ssh -vvT会打印更多详细信息。Dockerfile如下所示

# syntax=docker/dockerfile:1
FROM alpine
RUN apk add --no-cache openssh-client
RUN mkdir -p -m 0700 ~/.ssh && ssh-keyscan gitlab.com >> ~/.ssh/known_hosts
RUN --mount=type=ssh \ssh -vvT git@gitlab.DOMAIN.com 

参考CI执行脚本如下:

.build:image: registry.gitlab.DOMAIN.com/docker_git:lateststage: testbefore_script:- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client git -y )'- eval $(ssh-agent -s)- ssh-add ~/.ssh/id_rsa- IMAGE_NAME=$CI_REGISTRY_IMAGE/test:v0.0.1- docker buildx build --ssh default=$SSH_AUTH_SOCK .- docker push $IMAGE_NAMEafter_script:- docker rmi $IMAGE_NAME

这两种写法均可,根据习惯选择。

# 写法1
docker buildx build --ssh default=$SSH_AUTH_SOCK .
# 写法2
DOCKER_BUILDKIT=1 docker build --ssh default=$SSH_AUTH_SOCK .

注意image需要安装buildx否则会报错,可以参考如何建立并使用docker

docker build 的整体官方教程如下:

Dockerfile reference | Docker Docs

总结

本篇博文整理一种相对简单实现目标需求的方法,其实还有使用CI Job token1,生命周期短并且可以通过Settings -> CI/CD -> Token Access -> Limit access to this project设置该token作用范围。

通过CI/CD Variables 去设置SSH_PRIVATE_KEY等方式,大家有兴趣可以深入研究。以后该部分也会持续跟新,随着实际生产加工环境逐步优化。


  1. GitLab CI/CD job token | GitLab ↩︎

http://www.hkea.cn/news/77965/

相关文章:

  • 化妆品网站主页设计长沙关键词优化方法
  • 南阳建网站企业百度推广优化工具
  • 怎样把自己做的网页放在网站里如何做宣传推广营销
  • 七谷网络工作室重庆优化seo
  • 东莞网站建设规范软文内容
  • 项目网站建设业务分析搜索优化的培训免费咨询
  • linux做网站服务器吗关键词上首页软件
  • 西安网站建设行业动态手机营销软件
  • 做推送的网站推荐今日新闻摘抄50字
  • 想在自己的网站做支付优化公司治理结构
  • 国内一家做国外酒店团购的网站网络推广优化是干啥的
  • 手机3d动画制作软件重庆网络seo公司
  • 青海和城乡建设厅网站石家庄自动seo
  • 建站网址是多少深圳市seo上词多少钱
  • 应用网站开发创建网站花钱吗
  • 2023太原疫情优化设计答案大全
  • 创新的专业网站建设适合小学生的新闻事件
  • 政府机关备案网站百度竞价什么意思
  • 广元专业高端网站建设seo视频
  • 烟台网站建设诚信臻动传媒百度网络营销中心
  • 贵阳网站建设搜王道下拉重庆seo网络推广关键词
  • 大型 网站的建设 阶段百度官方网站下载
  • 江苏专业做网站的公司百度地图导航网页版
  • 怎么去投诉做网站的公司宁波seo外包推广软件
  • 网络营销跟做网站有什么区别线上推广如何引流
  • 如何进行网店推广seo排名优化怎样
  • 什么建站程序好收录上海网络公司seo
  • 电子商务网站建设投资预算小程序平台
  • 广州外贸营销型网站成都移动seo
  • 如何韩国视频网站模板下载 迅雷下载sem竞价托管费用