diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6a4287e9f2c5048fd3cbe232d8ee92af1cc822f6
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,38 @@
+stages:
+  - build
+  - deploy
+
+# requiring the environment of python
+image: python:3.9-buster
+
+before_script:
+  - pip install -r requirements.txt
+
+jupyter-build:
+  stage: build
+  script:
+    - jupyter-book build ./docs/ # build to public path
+  artifacts:
+    paths:
+      - Book/_build
+    expire_in: 30 mins
+    
+# the 'pages' job will deploy and build your site to the 'public' path
+class-deploy:
+  stage: deploy
+  script:
+    - apt-get update
+    - apt-get --yes install rsync bash
+    - 'command -v ssh-agent >/dev/null || ( apt-get update -y && apt-get install openssh-client -y )'
+    - eval $(ssh-agent -s)
+    - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
+    - mkdir -p ~/.ssh
+    - chmod 700 ~/.ssh
+    - echo "$SSH_KNOWN_HOSTS" >> ~/.ssh/known_hosts
+    - chmod 644 ~/.ssh/known_hosts
+    - rsync -ah ./Book/_build/html/* semillero-halley@class.redclara.net:~/muysc/
+  only:
+    - main # this job will affect only the 'master' branch
+
+
+
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1b888442b40f25612984866d3836eb5374ac0a30
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,24 @@
+# dependencia 
+tk
+click
+matplotlib
+seaborn
+
+# Pandas 
+pandas
+openpyxl 
+
+# datetime para manejo de fechas
+datetime
+
+# pytz para manejo de zonas horarias
+pytz
+
+jupyter-book
+sphinx
+numpy
+
+plotly
+ipywidgets
+
+pydata-sphinx-theme==0.13.1