User-Profile-Image
hankin
  • 5
  • centos7
  • docker
  • mysql
  • PostgreSQL
  • git/gitlab
  • ELK
  • python
    • python-Tornado
    • python-django
  • redis
  • nginx
  • kvm
  • proxmox
  • mongo
  • kubernetes
  • prometheus
  • GlusterFs
  • nfs
  • freeswitch
  • httpd
  • shell脚本
  • linux
  • fastdfs
  • nextcloud
  • openssl
  • openvpn
  • rabbitmq
  • sqlite
  • svn
  • java
  • ubuntu
  • vue2
  • wordpress
  • php
  • IOT物联网
  • 项目
  • 故障处理
  • 树莓派
  • 博客存档
  • 未分类
  • 杂项
  • #1742(无标题)
  • 新视野
  • 分类
    • 项目
    • 树莓派
    • 杂项
    • 未分类
    • 新视野
    • 故障处理
    • 博客存档
    • 交换机
    • wordpress
    • vue2
    • ubuntu
    • svn
    • sqlite
    • shell脚本
    • redis
    • rabbitmq
    • python-django
    • python
    • proxmox
    • prometheus
    • PostgreSQL
    • php
    • openvpn
    • openssl
    • nginx
    • nfs
    • nextcloud
    • mysql
    • mongo
    • linux
    • kvm
    • kubernetes
    • java
    • IOT物联网
    • httpd
    • GlusterFs
    • git/gitlab
    • freeswitch
    • fastdfs
    • ELK
    • docker
    • centos7
  • 页面
    • #1742(无标题)
  • 友链
      请到[后台->主题设置->友情链接]中设置。
Help?

Please contact us on our email for need any support

Support
    首页   ›   git/gitlab   ›   正文
git/gitlab

gitlab-ci

2025-08-20 18:48:57
16  0 0

gitlab ci配置 以自动生成docker镜像为例

通过linux shell 方式安装runner
ci 模板:https://docs.gitlab.com/ci/examples/

gitlab创建一个项目

...

gitlab runner设置页面

打开http://xx/root/p/-/settings/ci_cd#js-runners-settings
获取注册runner命令

在linux主机执行

安装runner
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash  && apt install gitlab-runner
#选择使用shell方式

执行注册runner命令
gitlab-runner register  --url https://gitlab.com  --token glrt-xxx
    #方式选shell
    #可打一个标签tag1

安装docker
略

docker 拉取一个nginx镜像

gitlab 查看runner情况

配置.gitlab-ci.yml

.gitlab-ci.yml 、Dockerfile 文件放置于项目根目录
test/内为html网页文件

根目录结构:
    -rw-r--r-- 1 x 197121   65 Aug 19 09:44 Dockerfile
    -rw-r--r-- 1 x 197121 6184 Aug 19 09:03 README.md
    drwxr-xr-x 1 x 197121    0 Aug 19 09:46 test/

.gitlab-ci.yml内容:
stages:
  - build

build-and-run-nginx:
  stage: build
  script:
    # 构建镜像,使用项目目录下的 Dockerfile
    - docker build -t my-nginx-app:latest .

    # 停止并删除旧容器(如果存在)
    - docker stop my-nginx || true
    - docker rm my-nginx || true

    # 启动新容器
    - docker run -d -p 8080:80 --name my-nginx my-nginx-app:latest

  tags:
    - tag1
  only:
    - main

  # 可选:指定 tags(如果你有多个 Runner,可以打标签区分)
  # tags:
  #   - shell-runner
Dockerfile 内容:
FROM nginx:latest
COPY test/ /usr/share/nginx/html/
EXPOSE 80

测试

代码更新后推送到仓库,ci流程自动触发执行

可通过页面查看任务进度
http://xx/root/p/-/pipelines

执行成功后会在runner主机上生成docker镜像 my-nginx-app:latest,并运行容器
评论 (0)

点击这里取消回复。

欢迎您 游客  

Copyright © 2025 网站备案号 : 蜀ICP备2022017747号
smarty_hankin 主题. Designed by hankin
主页
页面
  • #1742(无标题)
博主
tang.show
tang.show 管理员
linux、centos、docker 、k8s、mysql等技术相关的总结文档
213 文章 2 评论 201845 浏览
测试
测试