ps:此教程使用于懂的java开发,却不熟悉gradle模式的人员(诺只是安装搭建请参考官网或)这个
话不多说正式开始
1.代码拉取与环境配置
环境:
安装完之后(能够通过命令查询到版本信息为成功安装),通过开发工具:idea(此处不做复述)拉取最新代码,并且配置好jdk和gradle,同时下载lombok插件,刚安装插件的要重启idea
![https://img-blog.csdnimg.cn/20200304154228629.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0RlbW8wX0xp,size_16,color_FFFFFF,t_70](https://)
ps:上文配置参考:https://blog.csdn.net/Demo0_Li/article/details/104653452_
配置好后,记得刷新依赖
ps:依赖可能要加载一段时间
然后就可以愉快的启动了!
idea最右边 有个小象图标 gradle 打开它
然后 依次 halo -- >Tasks -- > application -- > bootRun
双击bootRun
启动项目!
如果之前没有问题的话,这一步你会遇到 一个错误:
ThemePropertyMissingException
没错,没有默认主题文件,
打开官网 找到主题 [https://halo.run/themes.html](https://)
Anatole
下载
解压到 C:\Users\你电脑用户名.halo\templates\themes\anatole
ps:解压最里面的一大堆文件到此目录
然后再运行一次,ojbk 完美
接下来是关于打包,发布至docker
在idea 左下角有个 Terminal 点开他
输入命令:gradle build
中间会 有警告 代码过时,不用理会,等代码执行完,在项目中会生产一个黄色的文件夹
build
打开它 --> libs
里面就是你项目生成的jar包
ps:win本地可以使用cmd窗口 java -jar ***.jar 来运行起来,如果没有错误请看下一步
如果报错,且错误信息为:
Application run failed
org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.
那就是你的打包有问题,这里踩了个坑,此时应该使用 gradle build 来打包,而并非其他命令
复制这个jar包 放到你的linux服务器上
同时 新建Dockerfile 文件(此文件没有后缀名)
内容为:
FROM openjdk:11
VOLUME /suke/docker
ADD 你自己jar包名.jar /APP.jar
#运行命令
ENTRYPOINT ["java","-jar","/APP.jar"]
ps:jar和Dockerfile 应该在同一目录下
先创建工作目录:
mkdir ~/.halo && cd ~/.halo
下载示例配置文件到工作目录:
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
编辑配置文件,配置数据库或者端口等,如需配置请 参考配置:
vim application.yaml
然后按 i 就可以开始 编辑
再按Esc
输入 :
再输入wq
保存退出
ps:输入 !q
则不保存退出,以上所有符号为英文输入法下 字符_
再使用 docker image
查看是否生成成功
ps:如果没生成成功,则排查 jar包与Dockerfile 文件是否处于同一目录下 ,jar包名称是否与Dockerfile 中名称一致
然后使用命令生成容器:
docker run -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo halo-1.4.9
ps: -p 外部访问端口:容器端口(配置文件中port对应的端口) 例如 80:8090
再使用 docker logs -f halo
查看容器是否正确启动
启动后 访问自己博客主页,此时可能出现的问题:
1.主页空白
_此时按F12找到Network
点击它,再刷新页面,请求中如果css等文件爆红,则是端口未开放,查看每个文件的端口,去腾讯云或者阿里云中 开放此端口(不再复述) _
2.启动报错
如果是Application run failed
org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.
这种错误信息,请检查你的打包方式是否与文中一致
如果是 ThemePropertyMissingException
,请在/root/.halo/templates/themes/anatole
目录下放入主题(解压后那一大堆)文件!
至此 搭建完成,后期则 可以自己修改配置代码
如果你只是想使用,请参考官网或(此处)
如果不正确环境指出错误😸