Update sofaboot demo with openjdk 8 option
Signed-off-by: Zheng, Qi <huaiqing.zq@antgroup.com>
This commit is contained in:
		
							parent
							
								
									6d9d165a95
								
							
						
					
					
						commit
						8cb08aac29
					
				| @ -3,11 +3,26 @@ | |||||||
| This project demonstrates how to execute an unmodified sofaboot projects with Occlum. | This project demonstrates how to execute an unmodified sofaboot projects with Occlum. | ||||||
| 
 | 
 | ||||||
| 1. Download and build sofaboot project | 1. Download and build sofaboot project | ||||||
|  | 
 | ||||||
|  | * Use openjdk 8 | ||||||
|  | ``` | ||||||
|  | ./download_compile_sofaboot.sh jdk8 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | * Use openjdk 11 | ||||||
| ``` | ``` | ||||||
| ./download_compile_sofaboot.sh | ./download_compile_sofaboot.sh | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| 2. Run `sofaboot sample standard web` on Occlum | 2. Run `sofaboot sample standard web` on Occlum | ||||||
|  | 
 | ||||||
|  | * Run with openjdk 8 | ||||||
|  | ``` | ||||||
|  | ./run_sofaboot_on_occlum_jdk8.sh | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | * Run with openjdk 11 | ||||||
| ``` | ``` | ||||||
| ./run_sofaboot_on_occlum.sh | ./run_sofaboot_on_occlum.sh | ||||||
| ``` | ``` | ||||||
|  | |||||||
| @ -1,7 +1,23 @@ | |||||||
| #!/bin/bash | #!/bin/bash | ||||||
|  | set -e | ||||||
|  | 
 | ||||||
|  | if [[ $1 == "jdk8" ]]; then | ||||||
|  |     echo "" | ||||||
|  |     echo "*** Build sofaboot demo with openjdk 8 ***" | ||||||
|  |     echo "*** Make sure openjdk 8 is installed ***" | ||||||
|  |     mvn -v | grep "java-8" | ||||||
|  | else | ||||||
|  |     echo "" | ||||||
|  |     echo "*** Build sofaboot demo with openjdk 11 ***" | ||||||
|  |     echo "*** Make sure openjdk 11 is installed ***" | ||||||
|  |     mvn -v | grep "java-11" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
| if [ ! -d "sofa-boot-guides" ]; then | if [ ! -d "sofa-boot-guides" ]; then | ||||||
|     git clone https://github.com/sofastack-guides/sofa-boot-guides.git |     git clone https://github.com/sofastack-guides/sofa-boot-guides.git | ||||||
| fi | fi | ||||||
|  | 
 | ||||||
| cd sofa-boot-guides/sofaboot-sample-standard/ | cd sofa-boot-guides/sofaboot-sample-standard/ | ||||||
|  | mvn clean | ||||||
| mvn compile | mvn compile | ||||||
| mvn package | mvn package | ||||||
|  | |||||||
							
								
								
									
										47
									
								
								demos/sofaboot/run_sofaboot_on_occlum_jdk8.sh
									
									
									
									
									
										Executable file
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										47
									
								
								demos/sofaboot/run_sofaboot_on_occlum_jdk8.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,47 @@ | |||||||
|  | #!/bin/bash | ||||||
|  | set -e | ||||||
|  | 
 | ||||||
|  | BLUE='\033[1;34m' | ||||||
|  | NC='\033[0m' | ||||||
|  | 
 | ||||||
|  | check_file_exist() { | ||||||
|  |     file=$1 | ||||||
|  |     if [ ! -f ${file} ];then | ||||||
|  |         echo "Error: cannot stat file '${file}'" | ||||||
|  |         echo "Please see README and build it" | ||||||
|  |         exit 1 | ||||||
|  |     fi | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | init_instance() { | ||||||
|  |     # Init Occlum instance | ||||||
|  |     rm -rf occlum_instance && occlum new occlum_instance | ||||||
|  |     cd occlum_instance | ||||||
|  |     new_json="$(jq '.resource_limits.user_space_size = "1680MB" | | ||||||
|  |                 .resource_limits.kernel_space_heap_size="64MB" | | ||||||
|  |                 .resource_limits.max_num_of_threads = 64 | | ||||||
|  |                 .process.default_heap_size = "256MB" | | ||||||
|  |                 .process.default_mmap_size = "1400MB" | | ||||||
|  |                 .entry_points = [ "/usr/lib/jvm/java-1.8-openjdk/jre/bin" ] | | ||||||
|  |                 .env.default = [ "LD_LIBRARY_PATH=/usr/lib/jvm/java-1.8-openjdk/jre/lib:/usr/lib/jvm/java-1.8-openjdk/lib" ]' Occlum.json)" && \ | ||||||
|  |     echo "${new_json}" > Occlum.json | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | build_sofa() { | ||||||
|  |     # Copy JVM and JAR file into Occlum instance and build | ||||||
|  |     rm -rf image | ||||||
|  |     copy_bom -f ../sofaboot_jdk8.yaml --root image --include-dir /opt/occlum/etc/template | ||||||
|  |     occlum build | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | run_sofa() { | ||||||
|  |     jar_path=./sofa-boot-guides/sofaboot-sample-standard/target/boot/sofaboot-sample-standard-web-0.0.1-SNAPSHOT-executable.jar | ||||||
|  |     check_file_exist ${jar_path} | ||||||
|  |     jar_file=`basename "${jar_path}"` | ||||||
|  |     init_instance | ||||||
|  |     build_sofa | ||||||
|  |     echo -e "${BLUE}occlum run SOFABoot demo${NC}" | ||||||
|  |     occlum run /usr/lib/jvm/java-1.8-openjdk/jre/bin/java -Xmx512m -XX:-UseCompressedOops -XX:MaxMetaspaceSize=64m -Dos.name=Linux -jar /usr/lib/spring/${jar_file} & | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | run_sofa | ||||||
							
								
								
									
										9
									
								
								demos/sofaboot/sofaboot_jdk8.yaml
									
									
									
									
									
										Normal file
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										9
									
								
								demos/sofaboot/sofaboot_jdk8.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | |||||||
|  | includes:  | ||||||
|  |   - base.yaml | ||||||
|  |   - java-8-openjdk.yaml | ||||||
|  | targets:  | ||||||
|  |   # copy sofaboot jar | ||||||
|  |   - target: /usr/lib/spring | ||||||
|  |     copy:  | ||||||
|  |       - files:  | ||||||
|  |         - ../sofa-boot-guides/sofaboot-sample-standard/target/boot/sofaboot-sample-standard-web-0.0.1-SNAPSHOT-executable.jar | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user