Создайте свой собственный репозиторий 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:Блог Маленького Серого