diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a723cb2646f30787e15af359702cc3e992f0aeca
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,23 @@
+default:         # Set default
+  tags:
+    - docker
+  image: python:3.10-slim-buster
+
+stages:          # List of employment runs, starts with build ends with deploy.
+  - build
+  - test
+
+build-job:       # First stage deployment and installation of dependencies.
+  stage: build   # Build Stage
+  script:
+    - pip install -r requirements.txt
+    - pip install -r requirements_dev.txt
+    - pip install -e .
+    - echo "Dependencies successfully deployed."
+
+lint-test-job:   # Test Stage
+  stage: test    # Deploys and runs all 3 linters.
+  script:
+    - flake8 --docstring-convention google sequence_extractor/ gtf_processing/
+    - pylint sequence_extractor/ gtf_processing/
+    - mypy sequence_extractor/ gtf_processing/
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..9665293c6faa57f591a5cd357accce22050be4cc
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,9 @@
+FROM python:3.10-slim-buster
+
+MAINTAINER Samuel Mondal
+
+ENV PATH=$PATH:/usr/local/
+
+COPY . .
+
+RUN pip install -e .
diff --git a/tests/test_files/test_1.fa b/tests/test_files/test_1.fa
new file mode 100644
index 0000000000000000000000000000000000000000..f92bb2b84f79e445dcda17c45ae0e6f34aa64c82
--- /dev/null
+++ b/tests/test_files/test_1.fa
@@ -0,0 +1,8 @@
+>ENST00000673477::1:1471765-1472089
+TTTCGCCTGCGCAGTGGTCCTGGCCACCGGCTCGCGGCGCGTGGAGGCTGCTCCCAGCCGCGCCCGAGTCAGACTCGGGTGGGGGTCCCGGCGGCGGTAGCGGCGGCGGCGGTGCGAGCATGTCGTGGCTCTTCGGCGTTAACAAGGGCCCCAAGGGTGAAGGCGCGGGGCCGCCGCCGCCTTTGCCGCCCGCGCAGCCCGGGGCCGAGGGCGGCGGGGACCGCGGTTTGGGAGACCGGCCGGCGCCCAAGGACAAATGGAGCAACTTCGACCCCACCGGCCTGGAGCGCGCCGCCAAGGCGGCGCGCGAGCTGGAGCACTCGC
+>ENST00000673477::1:1477274-1477350
+TTACGCCAAGGAGGCCCTGAATCTGGCGCAGATGCAGGAGCAGACGCTGCAGTTGGAGCAACAGTCCAAGCTCAAA
+>ENST00000378391::1:3244087-3244137
+AAATACTGACGGACGTGGAAGTGTCGCCCCAGGAAGGCTGCATCACAAAG
+>ENST00000378391::1:3385152-3385286
+TCTCCGAAGACCTGGGCAGTGAGAAGTTCTGCGTGGATGCAAATCAGGCGGGGGCTGGCAGCTGGCTCAAGTACATCCGTGTGGCGTGCTCCTGCGATGACCAGAACCTCACCATGTGTCAGATCAGTGAGCAG
diff --git a/tests/test_files/test_2.fa b/tests/test_files/test_2.fa
new file mode 100644
index 0000000000000000000000000000000000000000..7b8ebb26c52072dc4431535d5a0eae56fee268ee
--- /dev/null
+++ b/tests/test_files/test_2.fa
@@ -0,0 +1,7 @@
+>ENST00000673477::1:1482545-1482614
+ACGGCTGGCACCTTGTTTGGGGAAGGATTCCGTGCCTTTGTGACAGACCGGGACAAAGTGACAGCCACG
+>ENST00000673477::1:1485016-1485171
+TGGCTGGGCTGACGCTGCTGGCTGTCGGGGTCTACTCAGCCAAGAATGCGACAGCCGTCACTGGCCGCTTCATCGAGGCTCGGCTGGGGAAGCCGTCCCTAGTGAGGGAGACGTCCCGCATCACGGTGCTGGAGGCGCTGCGGCACCCCATCCAG
+>ENST00000673477::1:1485782-1485838
+TCAGCCGGCGGCTCCTCAGTCGACCCCAGGACGTGCTGGAGGGTGTTGTGCTTAGT
+>ENST00000673477::1:1486110-1486235