Skip to content
Snippets Groups Projects
Commit 1a1a3b42 authored by wyl's avatar wyl
Browse files

UPDATE

parent 6535aeea
No related branches found
No related tags found
No related merge requests found
version: "3.8"
services:
mariadb:
image: mariadb:10.11.11
container_name: mariadb
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: comsc
networks:
- new
healthcare_01:
build:
context: .
dockerfile: Dockerfile
container_name: healthcare_01
ports:
- "8080:8080"
networks:
- new
depends_on:
- mariadb
healthcare_02:
build:
context: .
dockerfile: Dockerfile
container_name: healthcare_02
ports:
- "8080:8081"
networks:
- new
depends_on:
- mariadb
nginx:
image: nginx:1.22.1
container_name: nginx
ports:
- "80:80"
volumes:
- "/nginx/nginx.conf:/etc/nginx/nginx.conf"
depends_on:
- healthcare_01
- healthcare_02
networks:
- new
networks:
new:
name: wyl
# 使用官方 Java 17 运行时环境
FROM openjdk:17-jdk-slim
# 设置工作目录
WORKDIR /app
# 复制 Gradle 构建的 JAR 文件到容器
COPY build/libs/HealthCare-0.0.1-SNAPSHOT.jar app.jar
# 运行 Spring Boot 应用
CMD ["java", "-jar", "app.jar"]
......@@ -27,7 +27,7 @@ public class ViewController {
@GetMapping("/loadLeft")
public String loadLeftView() {
System.out.println("loadLeftView");
return "leftView";
}
......
......@@ -8,14 +8,14 @@
sudo adduser debian
echo "debian:$debian_password" | sudo chpasswd
#配置java
# 创建存放 java 的目录
mkdir -p /java
#安装java环境
sudo apt-get update -y
sudo apt-get install openjdk-17-jdk -y
#移动到指定目录
sudo cp -r /usr/lib/jvm/java-17-openjdk-amd64/* /java
# #配置java
# # 创建存放 java 的目录
# mkdir -p /java
# #安装java环境
# sudo apt-get update -y
# sudo apt-get install openjdk-17-jdk -y
# #移动到指定目录
# sudo cp -r /usr/lib/jvm/java-17-openjdk-amd64/* /java
#配置git
......@@ -84,7 +84,7 @@ EOF'
#配置gradle
# 创建存放 Gradle 的目录
mkdir -p /gradle
# 下载 Gradle 8.7
......@@ -93,7 +93,7 @@ EOF'
sudo apt-get update -y
sudo apt-get install -y unzip
#安装vim
sudo apt-get install -y vim
sudo apt-get install -y vim
# 解压 Gradle
unzip /gradle/gradle-8.7-bin.zip -d /gradle
# 配置环境变量
......@@ -101,169 +101,57 @@ EOF'
source /etc/profile
#安装依赖工具
sudo apt update
sudo apt install -y ca-certificates curl gnupg
#添加Docker的GPG密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
#添加Docker的APT源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
#更新并安装Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
#启动Docker服务并设置开机自启
sudo systemctl enable --now docker
echo "docker version"
sudo docker -v
#配置jenkins
sudo apt-get install -y wget gnupg
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
# 添加 Jenkins APT 仓库
echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null
# 更新仓库列表并安装 Jenkins
sudo apt-get update -y
sudo apt-get install -y jenkins
# 启动并启用 Jenkins
sudo systemctl enable jenkins
sudo systemctl start jenkins
sudo mkdir -p /etc/systemd/system/jenkins.service.d
sudo cat > /etc/systemd/system/jenkins.service.d/override.conf <<EOF
[Service]
Environment="JENKINS_PORT=8081"
EOF
# 重新加载 systemd 配置并重启 Jenkins
sudo systemctl daemon-reload
sudo systemctl restart jenkins
echo "installing gitlab server key... has to be added to the jenkins user home (~) dir "
sudo mkdir /var/lib/jenkins/.ssh
sudo touch /var/lib/jenkins/.ssh/known_hosts
sudo ssh-keyscan git.cardiff.ac.uk >> /var/lib/jenkins/.ssh/known_hosts
sudo chmod 644 /var/lib/jenkins/.ssh/known_hosts
#配置mariadb
echo "installing MariaDB..."
#更新apt-get工具
sudo apt-get update
# sudo yum install mysql -y
sudo apt-get install -y mariadb-server
sudo systemctl start mariadb
sudo systemctl status mariadb
sudo systemctl enable mariadb
echo "creating mysql_secure_installation.txt..."
touch mysql_secure_installation.txt
#配置权限
sudo sh -c 'cat <<EOF > mysql_secure_installation.txt
n
Y
comsc
comsc
Y
Y
Y
Y
Y
EOF'
# cd /root/healthcare/Docker
docker-compose -f /root/healthcare/Docker/docker-compose.yml up -d
#执行sql
docker exec -i mariadb mysql -uroot -pcomsc < /root/healthcare/src/main/resources/healthcare.sql
echo "running mysql_secure_installation..."
sudo mysql_secure_installation < mysql_secure_installation.txt
sudo systemctl restart mariadb
#配置nginx
echo "配置nginx"
sudo apt-get update
sudo apt install nginx -y
sudo sh -c 'cat <<EOF > /etc/nginx/nginx.conf
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
server {
listen 80;
server_name www.cardiff.healthcare;
location /static/html/ {
alias /root/healthcare/src/main/resources/static/html/;
}
location /static/img/ {
alias /root/healthcare/src/main/resources/static/img/;
}
location /static/css/ {
alias /root/healthcare/src/main/resources/static/css/;
}
location /static/js/ {
alias /root/healthcare/src/main/resources/static/js/;
}
location /templates/ {
alias /root/healthcare/src/main/resources/templates/;
}
location / {
proxy_pass http://localhost:8080/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
EOF'
sudo systemctl restart nginx
#echo "Running healthcare"
#运行项目sql
sudo sh -c "mysql -uroot -pcomsc</root/healthcare/src/main/resources/healthcare.sql"
#配置terraform
sudo apt-get update && sudo apt-get install -y gnupg software-properties-common
# #配置terraform
# sudo apt-get update && sudo apt-get install -y gnupg software-properties-common
wget -O- https://apt.releases.hashicorp.com/gpg | \
gpg --dearmor | \
sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg > /dev/null
# wget -O- https://apt.releases.hashicorp.com/gpg | \
# gpg --dearmor | \
# sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg > /dev/null
gpg --no-default-keyring \
--keyring /usr/share/keyrings/hashicorp-archive-keyring.gpg \
--fingerprint
# gpg --no-default-keyring \
# --keyring /usr/share/keyrings/hashicorp-archive-keyring.gpg \
# --fingerprint
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] \
https://apt.releases.hashicorp.com $(lsb_release -cs) main" | \
sudo tee /etc/apt/sources.list.d/hashicorp.list
# echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] \
# https://apt.releases.hashicorp.com $(lsb_release -cs) main" | \
# sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update
# sudo apt update
sudo apt-get install terraform
# sudo apt-get install terraform
sudo terraform --version
# sudo terraform --version
# 确保加载环境变量
sudo -i bash -c "cd /root/healthcare && gradle build && gradle bootrun"
sudo -i bash -c "cd /root/healthcare && gradle build"
#sudo -i bash -c "cd /root/healthcare && gradle build && gradle bootrun"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment