Load og stress testing med Gatling i en Docker container.
rake build
# Start med Ruby 2.5.1 | |
FROM ruby:2.5.1 | |
# Sæt en arbejdsmappe | |
WORKDIR /arbejde | |
# Install nødvendige gems | |
COPY Gemfile* ./ | |
RUN bundle config --global frozen 1 | |
RUN gem update bundler |
desc "Bygg en container til at køre tests" | |
task :build do | |
sh "docker build -t $dockerimage ." | |
end | |
desc "Kør en test" | |
task :test do | |
java_opts = "" | |
java_opts += "-Dusers=#{ENV['users']} " if ENV['users'] | |
java_opts += "-Dduration=#{ENV['duration']} " if ENV['duration'] |
#!/bin/bash | |
git checkout master && | |
git pull && | |
read -p "Hvad er mappenavnet? (f.x. drtv-performance-tests) " foldername && | |
mkdir $foldername && | |
cd $foldername && | |
wget 'https://gist.githubusercontent.com/drairi/9a0ab57f3db70234680a2ad5adef8d2a/raw/performance-tests-dockerfile' -O Dockerfile && |
package test | |
import scala.util.Random | |
import scala.concurrent.duration._ | |
import io.gatling.core.Predef._ | |
import io.gatling.http.Predef._ | |
class Demo extends Simulation { |
FROM java:8-jdk | |
# working directory for gatling | |
WORKDIR /opt | |
# Gating version | |
ENV GATLING_VERSION 3.0.0 | |
# create directory for gatling install | |
RUN mkdir -p gatling |
#!/bin/bash | |
git checkout master && | |
git pull && | |
read -p "Hvad er mappenavnet? (f.x. drtv-funktionelle-tests) " foldername && | |
mkdir $foldername && | |
cd $foldername && | |
wget 'https://gist.githubusercontent.com/drairi/b4036c9fd23acc7107304a9062d7e6b0/raw/funktionelle-tests-dockerfile' -O Dockerfile && |
def check_env_variable(variable, example) | |
if !ENV[variable] | |
puts | |
puts "Venligst indsæt en '#{variable}' miljøvariabel, f.eks." | |
puts "export #{variable}=#{example}" | |
puts | |
exit | |
end | |
end |