Linux下GitLab文件共享的实现方式
在Linux服务器上安装GitLab是实现文件共享的前提。以CentOS为例,需完成以下步骤:
sudo yum install -y curl policycoreutils-python openssh-server postfix;curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash;sudo EXTERNAL_URL="服务器公网IP" yum install -y gitlab-ce;sudo gitlab-ctl start、sudo systemctl enable gitlab-runsvdir。为确保本地与GitLab服务器之间的安全文件传输,需配置SSH密钥:
ssh-keygen -t rsa -C "your_email@example.com"(默认保存路径为~/.ssh/id_rsa);cat ~/.ssh/id_rsa.pub,粘贴至GitLab账号的Settings → SSH Keys中;ssh -T git@服务器IP,若显示“Welcome to GitLab”则表示配置成功。shared-files),选择可见性(Private/Internal/Public),点击Create project;mkdir local-shared-folder && cd local-shared-folder,执行git init;git remote add origin git@服务器IP:用户名/shared-files.git(项目地址可在GitLab项目页复制)。将本地文件共享至GitLab的核心步骤:
local-shared-folder);git add .(.表示添加所有文件);git commit -m "Initial file upload";git push -u origin master(首次推送需使用-u关联分支)。GitLab通过项目权限和用户角色实现文件共享的安全管控:
若需在GitLab CI/CD流水线中实现不同Runner之间的文件共享,可使用GitLab提供的Artifacts功能:
.gitlab-ci.yml中配置Artifacts,例如:jar:
stage: build
script:
- mvn package
artifacts:
paths:
- target/*.jar # 指定需共享的文件路径
needs关键字引用,例如:docker-build:
stage: deploy
needs: ["jar"] # 依赖上一阶段的Artifacts
script:
- echo "Building Docker image with ${CI_PROJECT_DIR}/target/*.jar"
expire_in参数调整),可通过Pipeline页面下载。