Как использовать GitHub для создания собственного репозитория maven

задняя часть GitHub Командная строка maven

Создайте свой собственный репозиторий maven с помощью GitHub.

I. Предыстория

Я также написал много проектов на Github, и одна из проблем, с которыми я часто сталкиваюсь, заключается в том, что многие проекты, написанные мной, можно загрузить только тогда, когда я надеюсь использовать их в другом проекте, что довольно неудобно.

Поскольку большинство серверных проектов Java основаны на зависимостях управления maven, гораздо удобнее иметь общедоступный репозиторий maven, куда вы можете создавать свои собственные проекты, а затем применять их.

На основе этого есть этот учебник

II. Шаги реализации

1. создание репозитория github

Предпосылкой создания нового репозитория является наличие учетной записи github.По умолчанию у того, кто видит эту статью, есть учетная запись.

Первый — создать новый склад на github, команда необязательна, например, мой новый проект —

2. Настройте локальный склад

Укажите каталог локально и создайте новую папкуmaven-repository, например моя локальная конфигурация следующим образом

## 进入目录
cd /Users/yihui/GitHub

## 新建目录
mkdir maven-repository; cd maven-repository

## 新建repository目录
# 这个目录下面就是存放我们deploy的项目相关信息
# 也就是说我们项目deploy指定的目录,就是这里
mkdir repository

## 新增一个readme文档
# 保持良好的习惯,每个项目都有一个说明文档
touch README.md

Почему такая структура каталогов?

Давайте посмотрим непосредственно на структуру каталогов по умолчанию в конфигурации maven и просто скопируем ее.

3. Складское объединение

Свяжите локальный репозиторий с удаленным репозиторием github, а команды для выполнения относительно просты.

git add .
git commit -m 'first comit'
git remote add origin https://github.com/liuyueyi/maven-repository.git
git push -u origin master

Далее идет управление филиалом.

  • Согласен развернуть снэпшот-версию в проекте в снэпшот-ветке хранилища
  • Согласен развернуть релизную версию в проекте на релизную ветку склада
  • ветка master управляет всеми версиями

Итак, вам нужно создать две новые ветки

## 创建snapshot分支
git checkout -b snapshot 
git push origin snapshot
# 也可以使用 git branch snapshot , 我通常用上面哪个,创建并切换分支

## 创建release分支
git checkout -b release
git push origin release

4. Развертывание проекта

Развертывание проекта должно активно указывать адрес развертывания, поэтому наша команда развертывания выглядит следующим образом.

## deploy项目到本地仓库
mvn clean deploy -Dmaven.test.skip  -DaltDeploymentRepository=self-mvn-repo::default::file:/Users/yihui/GitHub/maven-repository/repository

Вышеупомянутая команда относительно распространена, главное, на что следует обратить внимание, это параметры файла, которые заменяются в соответствии с локальным каталогом хранилища, установленным вами.

5. развернуть скрипт

Нелегко запоминать каждый раз, когда вы выполняете большую серию команд выше, особенно при развертывании разных версий в разные ветки, а активно переключать ветки и загружать их достаточно хлопотно, поэтому необходимо написать скрипт развертывания.

Поскольку оболочка действительно не очень хороша в написании, следующий сценарий можно использовать только для того, чтобы обойтись ею.

#!/bin/bash

if [ $# != 1 ];then
  echo 'deploy argument [snapshot(s for short) | release(r for short) ] needed!'
  exit 0
fi

## deploy参数,snapshot 表示快照包,简写为s, release表示正式包,简写为r
arg=$1

DEPLOY_PATH=/Users/yihui/GitHub/maven-repository/
CURRENT_PATH=`pwd`

deployFunc(){
  br=$1
  ## 快照包发布
  cd $DEPLOY_PATH
  ## 切换对应分支
  git checkout $br
  cd $CURRENT_PATH
  # 开始deploy
  mvn clean deploy -Dmaven.test.skip  -DaltDeploymentRepository=self-mvn-repo::default::file:/Users/yihui/GitHub/maven-repository/repository

  # deploy 完成,提交
  cd $DEPLOY_PATH
  git add -am 'deploy'
  git push origin $br

  # 合并master分支
  git checkout master
  git merge $br
  git commit -am 'merge'
  git push origin master
  cd $CURRENT_PATH
}

if [ $arg = 'snapshot' ] || [ $arg = 's' ];then
  ## 快照包发布
  deployFunc snapshot
elif [ $arg = 'release' ] || [ $arg = 'r' ];then
  ## 正式包发布
  deployFunc release
else
  echo 'argument should be snapshot(s for short) or release(r for short). like: `sh deploy.sh snapshot` or `sh deploy.sh s`'
fi

Скопируйте приведенный выше скрипт в корневой каталог проекта, а затем выполните

chmod +x deploy.sh

## 发布快照包
./deploy.sh s
# sh deploy.sh snapshot 也可以

## 发布正式包
./deploy.sh r

На этом весь этап завершен

3. Использование

Базовая конструкция приведенного выше хранилища в порядке, а затем он используется Как настроить файл maven pom?

Первый — добавить адрес склада.

Добавить склад

Если вы хотите различать моментальный снимок и выпуск, настройте его следующим образом.

<repositories>
    <repository>
        <id>yihui-maven-repo-snap</id>
        <url>https://raw.githubusercontent.com/liuyueyi/maven-repository/snapshot/repository</url>
    </repository>
    <repository>
        <id>yihui-maven-repo-release</id>
        <url>https://raw.githubusercontent.com/liuyueyi/maven-repository/release/repository</url>
    </repository>
</repositories>

Если вам все равно, просто добавьте следующее

<repositories>
    <repository>
        <id>yihui-maven-repo</id>
        <url>https://raw.githubusercontent.com/liuyueyi/maven-repository/master/repository</url>
    </repository>
</repositories>

После настройки хранилища вы можете напрямую вводить зависимости.Если вы зависите от моего пакета Quick-Alarm, вы можете добавить следующую конфигурацию зависимостей

<dependency>
  <groupId>com.hust.hui.alarm</groupId>
  <artifactId>core</artifactId>
  <version>0.1</version>
</dependency>

IV. Другое

личный блог:Z+|blog

Личный блог, основанный на страницах hexo+github, записывающий все посты блога в учебе и работе, добро пожаловать в гости

утверждение

Это не так хорошо, как письмо веры.Контент был опубликован, и это чисто из семьи.Из-за моих средних способностей и ограниченных знаний, если вы обнаружите ошибки или у вас есть лучшие предложения, вы можете критиковать и исправлять меня в любое время. Мой адрес Weibo:Блог Маленького Серого

Сканировать внимание

QrCode